書上說,引用不能重新賦值??墒俏蚁旅娴拇a可以正確運行#include "iostream"using namespace std;void main(){int y=5;int & x =y;x=7;cout<<x<<endl;}
2 回答

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
不是不能賦值,而是不能修改引用的對象,比如這里x是y的引用,就一直是y的引用不會變化
對引用賦值就是對它引用的對象賦值,比如這里x=7和y=7是一個意思。

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
第一,你的程序沒有錯誤是正確的,但是并不能說明:引用能重新賦值,很明顯,引用時不嫩重新賦值的,只是你的理解有一點誤解了!引用的賦值,是指引用初始化時,它的引用對象只能是變量,同時,一旦它指定了哪一個對象的引用后,就不能更改了,但是,可以用這個引用(它指定對象變量的變量)來改變他的對象的紙,從而,達到引用的目的:作為變量對象的別名作用,你的程序就是利用這點對引用對象改變值,x=7;所謂的引用的重新賦值,應該是:int x,y,z;int &x=y;; &x=z; ,這種是對引用類型 x ,改變了它的指定對象,一開始 y 的引用,之后,有重新說明是 z 的引用;這種引用的重新賦值是不允許的;
- 2 回答
- 0 關注
- 1242 瀏覽
添加回答
舉報
0/150
提交
取消