我们说Reference是const指针.为什么我能够为ref B分配一个新变量?以下程序编译成功

san*_*eep 0 c++ reference variable-assignment

#include<iostream.h>

int main()
{
int a=10;
int &b=a;

cout<<"B"<<'\n'<<b;
cout<<"A"<<'\n'<<a;
b=100;
cout<<"B"<<'\n'<<b;
cout<<"A"<<'\n'<<a;
int c=20;
b=c;

cout<<"C"<<'\n'<<c;
cout<<"B"<<'\n'<<b;
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 7

引用不是const指针.需要取消引用const指针才能访问该值.您不需要取消引用引用.

引用是别名 - 同一事物的新名称.所以你问题中的代码是有效的,a和b指的是同一个东西.