为什么我不能重新设置引用的值,但如果引用是函数参数,我可以这样做?例如,以下代码可以正常工作:
void foo(int& i)
{
}
int main()
{
int i; foo(i);
int j; foo(j);
return 0;
}
最佳答案
这里没有'引用参数重新设置'。在您调用函数之前,函数引用形式参数甚至不存在,每次调用时都会有一个新的实际参数值,并且可能在堆栈上有一个新位置。每次调用该函数时,您都在初始化一个新 引用(将作为实际参数值传递),就像您在 int &k = i;
中一样main()
你的例子。
关于c++ - 为什么可以重新设置引用参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28258990/