【发布时间】:2021-05-28 04:28:17
【问题描述】:
我正在研究在 Qt 中的 QML 表中设置信息的示例,但我不明白作为默认参数传递的内容:
int rowCount(const QModelIndex & = QModelIndex()) const override
{
return 200;
}
例子的来源可以在here找到。
我的猜测是const QModelIndex & = QModelIndex()表示默认参数是对函数QModelIndex()的引用,这是一个内联函数。它是否正确?有人可以向我解释一下这里发生了什么吗?
【问题讨论】:
-
默认构造的
QModelIndex对象。 -
如果你想知道为什么要在它不使用的时候这样做,它是为了符合一些抽象接口。 QModelIndex 是一个类型,所以 QModelIndex() 必须是默认构造的 QModelIndex 对象,
const&参数可以绑定到右值。 -
由于
QModelIndex是一种类型,QModelIndex()使用其默认构造函数创建该类型的对象。 如果QModelIndex是一个函数,QModelIndex()将不是指该函数,而是指调用它的结果。 -
谢谢大家,我现在明白了。
标签: c++ qt qml function-definition