关于引用的一点理解歧义

引用与指针的区别中有一点是,指针能够更改指向而引用在初始化后就不能更改指向指针

对于下面,编译器没有报错: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;
相关文章
相关标签/搜索