c++ primer 2.3.1 说:一旦初始化,引用仍然绑定(bind)到它的初始对象。无法重新绑定(bind)引用以引用不同的对象。 但是我的代码运行良好:
#include <iostream>
int main()
{
int a = 1, b = 2;
int &r = a;
r = b;
std::cout << r << std::endl;
return 0;
}
运行结果为:
2
最佳答案
您没有重新绑定(bind)。相反,您将 b
的值分配给 a
。
通过打印分配前后的地址来自己检查一下:
std::cout << "a: " << &a << std::endl;
std::cout << "b: " << &b << std::endl;
std::cout << "r: " << &r << std::endl;
关于c++ - 为什么我重新绑定(bind)c++的引用,编译器不报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36586639/