虽然知道这个道理,但在copy+c/V 别人的代码时,难免会因此出现运行时错误!
QString fileName = abs_file("c://hello.txt"); // 此处fileName不能得到abs_file函数返回的值。
const QString & abs_file(QString filename)
{
QFileInfo fileInfo(filename);
return fileInfo.absoluteFilePath(); //注意不能返回局部变量的引用
}
ps:
函数返回引用的作用:
作用1:避免返回时拷贝一个临时对象
使用方法:一般返回const obj &
作用2:可以将函数调用作为左值
使用方法:返回obj &
本文通过一个具体的例子探讨了在C++中不当使用引用返回可能导致的问题,并解释了如何正确地实现函数以避免这类陷阱。
404

被折叠的 条评论
为什么被折叠?



