您好,登錄后才能下訂單哦!
C++引用簡(jiǎn)介:
引用引入了對(duì)象的一個(gè)同義詞。定義引用的表示方法與定義指針相似,只是用&代替了“*”。引用是C++對(duì)c語(yǔ)言的重要擴(kuò)充。
引用就是某一變量的一個(gè)別名,對(duì)引用的操作與對(duì)變量直接操作完全一樣。
引用的聲明方法:類型標(biāo)識(shí)符 &引用名=目標(biāo)遍歷名
實(shí)例說(shuō)明:
int a; int &p_a=a;
注:(1):&在此不是求址運(yùn)算,而是起標(biāo)識(shí)作用。
(2):類型標(biāo)識(shí)符是指目標(biāo)變量的類型。
(3):聲明引用,必須對(duì)其進(jìn)程初始化。
(4):引用聲明完畢后,相當(dāng)于目標(biāo)變量名有兩個(gè)名稱,即該目標(biāo)原名稱和引用名,且不能再把該引用名作為其他變量名的別名。
(5):聲明一個(gè)引用,不是定義了一個(gè)變量,只是表示該引用名是變量名的一個(gè)別名,它本身不是一種數(shù)據(jù)類型,因此引用本身不占存儲(chǔ)空間,系統(tǒng)也不給引用分配存儲(chǔ)單元。故:對(duì)引用取地址,就是對(duì)該引用的目標(biāo)變量就地址。
(6):不能建立數(shù)組的引用。因?yàn)閿?shù)組是一個(gè)由若干個(gè)元素組成的集合,所以無(wú)法建立
一個(gè)數(shù)組的別名。
注:
例:int &p_a[3]={2,3,5};
但是可以這么寫(xiě):const int (&p_a)[3]={2,3,5};但是GCC編譯時(shí)要加上-std=c++0x
引用本質(zhì)剖析:
引用其實(shí)就是C++中的常量指針。表達(dá)式 int &i=j => int *const i=&j;而引用之所以要初始化時(shí)因?yàn)閏onst類型的變量必須初始化,這個(gè)而指針必須有所值。
int main() { int i=10; int &j=i; j++; cout<<i<<j<<endl; cout<<&i<<&j<<endl; return 0; }
下面來(lái)看這段代碼:
int main() { int i=10; int *const j=&i; (*j)++; cout<<i<<*j<<endl; return 0; }
打印時(shí)會(huì)跳過(guò)打印地址這一步。這需要一些解釋。因?yàn)橐米兞繒r(shí)會(huì)被編譯器自動(dòng)解引用。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。