我已经进入了有关引用的 C++ 学习阶段。它规定了以下规则:
一旦一个引用被初始化为一个对象,它就不能被更改为引用另一个对象。
我写了一段简短的代码(如练习中所要求的那样),旨在证明这条规则是正确的。
int y = 7;
int z = 8;
int&r = y;
r = z;
有人可以解释为什么这段代码编译时没有任何错误或警告吗?
最佳答案
r = z
不会改变 r
“指向”的内容。它将 z
的值赋给 r
指向的对象。
以下代码与您的代码做同样的事情,但使用指针而不是引用:
int y = 7;
int z = 8;
int* p = &y; // p points to y
*p = z; // assign value of z to the object pointed to by p (which is y)
关于c++ - 为什么更改引用指向的内容不会引发错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6930507/