C++ 什么叫做引用不能改变它指向的对象

int main()
{
int a = 3;
int &b=a ;
cout << b<<endl;
b += b;
cout << a<<endl;
return 0;
}
输出3 6
当b的值改变的时候,原对象a的值也改变了呀?

c++ 之中的引用的本质上是指针,底层是一个指向被引用对象的指针。而每一个使用引用的地方该指针被自动解引用了,用你例子为例:b是一个引用变量,底层保存的是a的指针,当我们使用b的时候自动解引用,可以理解为使用b的地方被替代为*(&a),所以引用变量一旦经过初始胡我们就无法访问到b实际的内存。无法改变b的指向,b一生一世只能是a的引用

int &b=a
的意思不是b是a的引用,而是b是一个引用,并且它的值等于a的值。

int a = 1;
int &b = a;

b对a引用,相当于b指向了a的地址,且只能指向a的地址,不能再引用其他变量