最近在看《C++ primer》、《Effective C++》等C++方面的书,几乎每本书都说引用不能改。我对这种说法感到困惑。 因为,我可以这样写代码。
int a = 1, b = 2;
int& c = a;
// then I can change the reference c without compile errors.
c = b;
所以,我无法理解不能更改引用是什么意思。
最佳答案
当人们说引用不能改变时,他们的意思是你不能改变引用所引用的对象......例如,对于指针,你可以这样做:
int a = 1, b = 2;
int *c = &a; // c points to a
c = &b; // c now points to b instead
*c = 3; // b now equals 3
没有等效的引用代码。初始化引用后:
int a = 1, b = 2;
int &c = a;
您无法更改引用,因此语句 c = 3;
现在更改 b
而不是 a
。
关于c++ - 当有人说不能在 C++ 中更改引用时,这意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462070/