我一直在努力寻找以下两段代码之间的区别。
这 ...
int z=10;
int y=&z;
Run Code Online (Sandbox Code Playgroud)
...无效,而以下内容不会引发任何错误:
int& foo()
{
int z=10;
return z;
}
main()
{
int y=foo();
cout<<y;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行该程序时,它返回了y=10。
我的问题是:
如果y使用可以存储另一个变量的引用foo(),为什么不直接使用y=&z呢?