c++ - 为什么可以重新设置引用参数?

标签 c++ reference

为什么我不能重新设置引用的值,但如果引用是函数参数,我可以这样做?例如,以下代码可以正常工作:

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/

相关文章:

c++ - Kate 之类的程序中使用的 Kde 栏的小部件名称是什么? (内图)

c++ - 使用重载后自减运算符时,为什么需要在 << 重载函数中使用 const 引用参数?

C++ 模板 NULL 未声明的标识符

JavaScript JS 类方法用于更改从另一个方法作为参数发送的属性值

regex - 将 0(零)附加到 grep 匹配引用

C++ 将 'main' 声明为对函数的引用?

C++计算文件中两个单词之间的单词

C++数组类问题

c++ - C++ 中不明确的函数重载

c++ - 如何检测当前输入的语言?