- 相關(guān)推薦
申明和使用"引用"要注意哪些問(wèn)題
答:引用就是某個(gè)目標(biāo)變量的“別名”(alias),對(duì)應(yīng)用的操作與對(duì)變量直接操作效果完全相同,
申明和使用"引用"要注意哪些問(wèn)題
。申明一個(gè)引用的時(shí)候,切記要對(duì)其進(jìn)行初始化。引用聲明完畢后,相當(dāng)于目標(biāo)變量名有兩個(gè)名稱(chēng),即該目標(biāo)原名稱(chēng)和引用名,不能再把該引用名作為其他變量名的別名。聲明一個(gè)引用,不是新定義了一個(gè)變量,它只表示該引用名是目標(biāo)變量名的一個(gè)別名,它本身不是一種數(shù)據(jù)類(lèi)型,因此引用本身不占存儲(chǔ)單元,系統(tǒng)也不給引用分配存儲(chǔ)單元。不能建立數(shù)組的引用。拓展閱讀:
引用說(shuō)明
(1)&在此不是求地址運(yùn)算,而是起標(biāo)識(shí)作用。
(2)類(lèi)型標(biāo)識(shí)符是指目標(biāo)變量的類(lèi)型。
(3)聲明引用時(shí),必須同時(shí)對(duì)其進(jìn)行初始化。
(4)引用聲明完畢后,相當(dāng)于目標(biāo)變量名有兩個(gè)名稱(chēng),即該目標(biāo)原名稱(chēng)和引用名,且不能再把該引用名作為其他變量名的別名。
int a=2,int &ra=a;
a為目標(biāo)原名稱(chēng),ra為目標(biāo)引用名。給ra賦值:ra=1; 等價(jià)于 a=1;
(5)對(duì)引用求地址,就是對(duì)目標(biāo)變量求地址。&ra與&a相等。即我們常說(shuō)引用名是目標(biāo)變量名的一個(gè)別名。別名一詞好像是說(shuō)引用不占據(jù)任何內(nèi)存空間,
資料共享平臺(tái)
《申明和使用"引用"要注意哪些問(wèn)題》(http://www.msguai.com)。但是編譯器在一般將其實(shí)現(xiàn)為const指針,即指向位置不可變的指針。即引用實(shí)際上與一般指針同樣占用內(nèi)存。(6)不能建立引用的數(shù)組。因?yàn)閿?shù)組是一個(gè)由若干個(gè)元素所組成的集合,所以無(wú)法建立一個(gè)由引用組成的集合。但是可以建立數(shù)組的引用.
例如: int& ref [3]= {2,3,5};//聲明ref引用的數(shù)組錯(cuò)誤
但是可以這樣寫(xiě):
const int (&ref)[3] ={2,3,5}; //gcc編譯的時(shí)候加上選項(xiàng) -std=c++0x
ref[0] = 35; //錯(cuò)誤
為什么要加上const ,因?yàn)閧2,3,5}此時(shí)是個(gè)字面值數(shù)組,是保存在代碼段里,只讀的屬性,如果不加,編譯錯(cuò)誤,而且后面對(duì)ref[0]的賦值也不會(huì)成功.
需要特別強(qiáng)調(diào)的是引用并不產(chǎn)生對(duì)象的副本,僅僅是對(duì)象的同義詞。因此,當(dāng)下面的語(yǔ)句執(zhí)行后:
pt1.offset(12,12);
pt1和pt2都具有(12,12)的值。
引用必須在定義時(shí)馬上被初始化,因?yàn)樗仨毷悄硞(gè)東西的同義詞。你不能先定義一個(gè)引用后才
初始化它。例如下面語(yǔ)句是非法的:
Point &pt3;
pt3=pt1;
那么既然引用只是某個(gè)東西的同義詞,它有什么用途呢?
下面討論引用的兩個(gè)主要用途:作為函數(shù)參數(shù)以及從函數(shù)中返回左值。
【申明和使用"引用"要注意哪些問(wèn)題】相關(guān)文章:
交談禮儀要注意哪些問(wèn)題10-29
面試時(shí)要注意哪些問(wèn)題08-10
考研報(bào)名需要注意的問(wèn)題有哪些?06-13
關(guān)于求職面試禮儀需要注意哪些問(wèn)題09-03
求職面試時(shí)需要注意的問(wèn)題有哪些05-25
辯論賽要注意的問(wèn)題09-20
筆試要注意哪些方面?05-10
立秋時(shí)期要注意哪些事宜07-06