我想使用QFileInfo
类型的可选参数。测试调用方是否提供了值或是否使用默认值的规范方法是什么?
// declaration
void foo(QFileInfo fi = QFileInfo());
// definition
void foo(QFileInfo fi)
{
if ( /* what to test for: "is default" */ ) {
}
}
通常,默认构造的Qt对象具有类似
isValid()
或isEmpty()
的内容。但是,QFileInfo
中似乎没有这样的东西。一种选择是
fi.filePath().isEmpty()
。有没有更好/更简单的东西? 最佳答案
鉴于调用默认构造函数的作用是创建没有文件引用的fi.filePath().isEmpty()
,因此QFileInfo
似乎是最直接和最有效的。
一个更明确的替代方法可能是将fi
与另一个空的QFileInfo
进行比较,就像fi == QFileInfo()
一样,但是每次都进行构造以进行比较是有点浪费的。
关于c++ - 测试默认构造的QFileInfo,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45652586/