引用与指针的区别中有一点是,指针能够更改指向而引用在初始化后就不能更改指向指针
对于下面,编译器没有报错:blog
int b=100; int c=2000; int& name=b; cout<<name<<endl; name=c; cout<<name<<endl;
其实,这里不是更改了引用name的指向(从b改成c)编译器
实际上,name=c的意思是,使用c的值来更改name指向的变量的值,也就是b的值,实际上等价于b=c;并无更改name的指向编译
从下面的结果能够看到,b也被改成了2000class
int b=100; int c=2000; int& name=b; cout<<name<<endl; name=c; cout<<name<<endl; cout<<b<<endl;