我想使用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()。有什么更好的/更简单的吗?
发布于 2017-08-12 16:53:22
fi.filePath().isEmpty()似乎是最直接和最有效的,因为调用默认构造函数的效果是创建一个没有文件引用的QFileInfo。
QFileInfo::QFileInfo() 构造一个空的QFileInfo对象。 注意,空的QFileInfo对象不包含文件引用。
发布于 2017-08-12 16:43:38
此外,在收到函数中的QFileInfo后,可以检查文件是否存在。
void foo(QFileInfo fi)
{
if ( fi.exists() && fi.isFile() ) {
// execute your logic
}
}https://stackoverflow.com/questions/45652586
复制相似问题