最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

C/C++編程筆記:C++中的引用!(含引用和指針的對比)

2021-01-28 20:47 作者:C語言編程__Plus  | 我要投稿



當(dāng)將變量聲明為引用時(shí),它將成為現(xiàn)有變量的替代名稱。通過在聲明中添加“&”,可以將變量聲明為引用。?

C++:


輸出:?x = 20 ref= 30

應(yīng)用范圍:?

修改函數(shù)中傳遞的參數(shù):如果函數(shù)收到對變量的引用,則可以修改變量的值。例如,以下程序變量使用引用進(jìn)行交換。?

C++:


1.避免?復(fù)制大型結(jié)構(gòu):想象一個(gè)必須接收大型對象的函數(shù)。如果我們通過它而沒有引用,則會(huì)創(chuàng)建它的新副本,這會(huì)浪費(fèi)CPU時(shí)間和內(nèi)存。我們可以使用引用來避免這種情況。

C++:


2.在“對于每個(gè)循環(huán)”中修改所有對象:我們可以在“對每個(gè)循環(huán)”中使用引用來修改所有元素?

C++:


3.對于每個(gè)循環(huán),避免?對象復(fù)制:當(dāng)對象較大時(shí),我們可以在每個(gè)循環(huán)中使用引用來避免單個(gè)對象的復(fù)制。 ?

C++:


參考與指針:

引用和指針都可以用于更改另一個(gè)函數(shù)內(nèi)部的一個(gè)函數(shù)的局部變量。當(dāng)作為參數(shù)傳遞給函數(shù)或從函數(shù)返回時(shí),它們都還可以用于保存大對象的副本,以提高效率。盡管有上述相似之處,引用和指針之間還是存在以下差異。

1.可以將指針聲明為void,但是引用永遠(yuǎn)不能為void。例如

整數(shù)a = 10;void * aa =&a;//有效無效

&ar = a; //無效

2.指針變量具有n級/多級間接尋址,即單指針,雙指針,三指針。而參考變量僅具有一個(gè)/單個(gè)間接級別。以下代碼揭示了上述要點(diǎn): ?


?引用的功能不如指針

1)創(chuàng)建引用后,以后就不能再引用其他對象了;它無法重新放置。這通常是通過指針完成的。?

2)引用不能為NULL。指針通常被設(shè)置為NULL,以指示它們沒有指向任何有效的對象。?

3)引用必須在聲明時(shí)進(jìn)行初始化。指針沒有這種限制

由于上述限制,C ++中的引用不能用于實(shí)現(xiàn)鏈接列表,樹等數(shù)據(jù)結(jié)構(gòu)。在Java中,引用沒有上述限制,可以用于實(shí)現(xiàn)所有數(shù)據(jù)結(jié)構(gòu)。Java中引用更強(qiáng)大是Java不需要指針的主要原因。

更安全,更易于使用:?

1)更安全:由于必須先初始化引用,所以不太可能存在諸如野指針之類的野引用。仍然有一些引用不能引用有效位置

2)易于使用:引用不需要解引用運(yùn)算符即可訪問該值。它們可以像普通變量一樣使用。僅在聲明時(shí)才需要“&”運(yùn)算符。同樣,可以使用點(diǎn)運(yùn)算符('。')訪問對象引用的成員,這與需要箭頭運(yùn)算符(->)訪問成員的指針不同。

結(jié)合上述原因,在諸如復(fù)制構(gòu)造函數(shù)參數(shù)之類的地方很少有不能使用指針的地方。必須使用引用在復(fù)制構(gòu)造函數(shù)中傳遞參數(shù)。同樣,必須使用引用來重載某些運(yùn)算符,例如++。

希望對你有幫助!

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對你有幫助的~

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

編程學(xué)習(xí)書籍分享:


編程學(xué)習(xí)視頻分享:



栾川县| 峨眉山市| 五常市| 庄浪县| 岳阳县| 宜兰县| 天等县| 景德镇市| 博爱县| 津南区| 咸阳市| 宜兰市| 仁寿县| 凤山市| 宜丰县| 长岭县| 东乡县| 崇文区| 秦皇岛市| 肥西县| 鄢陵县| 礼泉县| 遂宁市| 通许县| 海城市| 仙居县| 于都县| 凤冈县| 宝山区| 普宁市| 德化县| 峨边| 嘉义县| 博罗县| 伊通| 许昌县| 华安县| 灌云县| 改则县| 榆中县| 平谷区|