#include <iostream>
using namespace std;
int& fun1(int& ref)
{
ref = 30;
return ref;
}
int main()
{
int i = 10;
i = fun1(i);
cout << "Value of i:" << i << endl;
return 0;
}
输出: 值I的:30是否有效返回一个参考如在C++有效参考
是否有效以返回作为参考作为函数返回相同的引用传递函数参数? 根据我的理解,fun1中的ref(int & ref)将在栈中拥有自己的内存位置,并且返回ref的地址是无效的。
该代码完全有效。 –
是的,这是有效的。如果这是引起你的混淆的地方,那么在C++中就没有参考引用。 –
当您通过引用传递参数时,返回相同的引用没有意义,因此没有影响。参考参数的值在函数内更新时更新,在您的情况下更新为“fun1”。 – Kangkan