我想使用 type 的可选参数QFileInfo。测试调用者是否提供了值或是否使用了默认值的规范方法是什么?
// declaration
void foo(QFileInfo fi = QFileInfo());
// definition
void foo(QFileInfo fi)
{
if ( /* what to test for: "is default" */ ) {
}
}
Run Code Online (Sandbox Code Playgroud)
通常默认构造的 Qt 对象具有类似isValid()或 的内容isEmpty()。然而,在QFileInfo.
一种选择是fi.filePath().isEmpty()。有没有更好/更简单的东西?
fi.filePath().isEmpty()鉴于调用默认构造函数的效果是创建一个QFileInfo没有文件引用的文件,这似乎是最直接和最有效的。
QFileInfo::QFileInfo()
构造一个空的 QFileInfo 对象。
请注意,空的 QFileInfo 对象不包含文件引用。