0

根据QFileInfo文档:

的一些QFileInfo函数查询文件系统,但出于性能原因,一些函数只对文件名本身进行操作。

但是,我仍然不确定哪些方法可以在后台访问文件本身,哪些不。例如:

for (int i = 0; i < 100000; ++i) {
    QFileInfo fi("path/to/my/file");
    qDebug() << fi.fileName();
}

此代码是否对以下内容有惩罚?

for (int i = 0; i < 100000; ++i) {
    QString fileName = QString("path/to/my/file").split('/').last();
    qDebug() << fileName;
}

因为我不确定哪些QFileInfo方法(甚至构造函数)访问文件本身

当然,我可以做一些分析,这可能是在代码速度方面过早的优化,但是我担心硬盘驱动器。我知道QFileInfo缓存,所以想象一下我将尝试获取不同文件的文件名。

4

0 回答 0