关于为什么有必要从函数返回引用的问题。
int&
如果我们在第 9 行和第 16 行中替换为,则以下代码的行为完全相同int
。
在我的示例代码中是否如此,返回引用与值无关紧要?在什么样的例子中它会开始变得重要?
在我看来,我们不能返回函数的局部变量的引用,因为局部变量将超出调用者的范围。因此,仅返回调用者可以看到的变量的引用(在范围内)才有意义,但是如果函数的调用者可以看到该变量,则不需要返回(?)(或者这是返回为了保持代码整洁而完成?)
相关链接:返回参考是个好主意吗?
#include <iostream>
using namespace std;
class myClass{
private:
int val;
public:
myClass(int);
int& GetVal();
};
myClass::myClass(int x){
val = x;
}
int& myClass::GetVal(){
return val;
}
int main()
{
myClass myObj(666);
cout << myObj.GetVal() << endl;
system("pause");
return 0;
}