国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++為什么要用引用而不是指針

2019-11-11 07:04:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

我相信有很多剛學(xué)完C,再學(xué)C++的人都會(huì)有個(gè)疑惑,引用是干嘛的,為什么不用指針?

首先,引用 跟 指針 在作用上沒(méi)有太多區(qū)別,作用都是 當(dāng)遇到較大的 對(duì)象(變量)作為函數(shù)的 形參 傳遞時(shí),用引用或指針可以節(jié)省內(nèi)存的開(kāi)銷(xiāo),因?yàn)樗幌癜?#20540;傳遞那樣,

額外要?jiǎng)?chuàng)建臨時(shí)變量。

既然這樣,那為什么C++要用引用呢?

引用是一段內(nèi)存的別名,引用的大小跟所代表的變量的大小是一樣的,而指針?biāo)拇笮t永遠(yuǎn)都是4個(gè)字節(jié)。

而且 引用 的風(fēng)格更符合C++面向?qū)ο蟮乃枷搿V羔樣?-> 來(lái)使用對(duì)象下的成員。而引用則用 . 來(lái)使用對(duì)象下的成員。

	struct a zje;	struct a &b = zje;	struct a *c = &zje;		//b.a 和 c->a 是一樣的,都是使用zje下的a成員。 引用和指針的不同:

(1)指針在定義的時(shí)候可以不初始化,但引用在定義的時(shí)候必須初始化。

(2)指針可以為空,引用不能為空。

(3)指針可以改變他的指向的對(duì)象,但引用不可以。

(4)有const 指針,沒(méi)有 const 引用。

(5)指針有多級(jí),如 int **ptr,但引用只有一級(jí),不存在 int &&a; 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 屏边| 哈尔滨市| 鸡东县| 喜德县| 龙胜| 柳河县| 应城市| 咸丰县| 平乐县| 唐河县| 茌平县| 安溪县| 东台市| 西充县| 铁岭市| 上林县| 汉阴县| 铜山县| 红原县| 鲜城| 宁安市| 揭阳市| 石林| 博湖县| 林周县| 司法| 康保县| 红河县| 当阳市| 丹棱县| 山东省| 仙游县| 鄂托克前旗| 林甸县| 呼玛县| 东兴市| 龙山县| 齐河县| 大冶市| 米易县| 汶川县|