引用的本质在C++内部是一个指针常量。
如:int a = 10;
int& b = a;
就相当于int*const b = &a;
我们知道指针常量是不能再指向其他变量的,也就是它的地址不能变了,所以b只能作为a的别名,而不能再作为其他变量的别名。(即引用一旦初始化后,就不可以发生改变)。
同时,指针常量虽然不能再指向其他变量,但是他指向变量的值可以改变,即
*b=20;是正确的,也就是此时a为20。
所以对于引用来说,b=20;是正确的,可以通过别名改变这个变量的值,相当于C++内部自动转换为*b=20;
引用的本质在C++内部是一个指针常量
最新推荐文章于 2024-07-23 20:11:39 发布