虽然知道这个道理,但在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 &