use*_*748 -1 c++ const reference
我知道我不能写long& const x.但为什么不呢?从理论上讲,我可以对x进行持续的引用.我只是无法将引用设置为另一个地址.
为什么在C++中禁止它?
编辑:我知道有些东西我不明白,但我可以指定另一个变量的引用.这段代码有效:
#include <iostream>
int main()
{
int a = 1, b = 2;
int & x = a;
x = b;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但这与你所说的相矛盾.
参考文献已经不变.
初始化后,您无法重新分配它们以引用另一个变量,并且必须始终初始化它们以引用变量.
在您的示例中,代码没有按照您的想法执行:
x = b;不重新分配x指b,它分配的值b,以该变量x被引用的,即a.
引用只是变量的别名,另一个名称.这意味着您可以替换xwith的每个实例a,并且行为将是相同的.