我正在尝试为一个文件设置权限。我认为在处理 QFile
对象时可以只使用一行代码,就像这样。
QFile("somefile.txt").setPermissions(QFile::WriteOther);
代码编译并运行,但是没有做任何事情。当然,我按照正确的方式操作时,它就起作用了。(这并不奇怪)
QFile tempFileHandle("somefile.txt");
tempFileHandle.setPermissions(QFile::WriteOther);
我认为这是一个理解C++语法的好机会。我承认我的原始方法不起作用,但是为什么呢?
const
。可能有两个setPermissions
的重载函数,一个用于非const
QFile(被第二个示例使用),另一个用于const
QFile(被第一个示例使用),显然它实际上并没有做任何事情。 - Jerry Coffinconst
,但仍然不会(例如)绑定到非const
引用,只能绑定到const
引用。如果不深入研究QFile的代码,很难确定到底发生了什么。 - Jerry Coffin