區別:1.引用總是指向某個物件:定義引用時必須初始化。
2.對引用的修改實際是對其關聯的物件進行修改。
如下兩個程式段:
int ival = 1024, ival2 = 2048;
int *pi = &ival, *pi2 = &ival2;
pi = pi2; //pi now point to ival2
賦值結束後,原pi所指的ival物件值保持不變,pi 與pi2指向同乙個物件ival2
int &ri = ival, &ri2 = ival2;
ri = ri2; //assigns ival2 to ival
這個賦值操作修改了ri引用的值ival物件,而非引用本身。賦值後,這兩個引用還是分別指向原來關聯的物件,此時這兩個物件的值相等。 《C Primer》引用和指標
學習c 的時候,我越來越感覺如果沒有真正學會引用和指標,那麼其他的部分就非常難以理解。因此,對於c 來說,引用和指標是絕對基礎而又重要的。我們可以想象一下,對門王奶奶養了乙隻加菲貓,王奶奶給這只貓起名字叫 球球 那麼,球球 就是 王奶奶的加菲貓 這個物件的引用。由此引出了引用的定義 引用為物件起了另...
C Primer 學習筆記之指標和引用
1 引用概念 引用引入了物件的乙個同義詞。定義引用的表示方法與定義指標相似,只是用 帶起了 例如 point pt1 10,10 point pt2 pt1 定義pt2為pt1的引用。通過這樣的定義,pt1和pt2表示同意物件,需要特別強調的是引用並不是產生物件的副本,僅僅是物件的同義詞。因此,當下...
C Primer 筆記四 初識指標和引用
引用 引用是某個已存在物件的別名,實現了對其他物件的間接訪問。引用本身不是物件。其定義如下 int ival 1024 int refval ival 一般初始化變數時,初始值被拷貝到新建物件中。而定義引用時,程式把引用和它的初始值繫結在一起,一旦初始化完成,將無法把引用重新繫結到另乙個物件上,因此...