關於引用的一點理解歧義

引用與指針的區別中有一點是,指針能夠更改指向而引用在初始化後就不能更改指向指針

對於下面,編譯器沒有報錯: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;
相關文章
相關標籤/搜索