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

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

C/C++編程筆記:C++中的“ this”指針,應(yīng)該如何使用?

2021-03-27 21:12 作者:C語(yǔ)言編程__Plus  | 我要投稿

要了解“this”指針,重要的是要了解對(duì)象如何看待類的函數(shù)和數(shù)據(jù)成員。

每個(gè)對(duì)象都有自己的數(shù)據(jù)成員副本。

全部訪問與代碼段中存在的功能定義相同的功能。

意味著每個(gè)對(duì)象都有自己的數(shù)據(jù)成員副本,并且所有對(duì)象共享成員函數(shù)的單個(gè)副本。

現(xiàn)在的問題是,如果每個(gè)成員函數(shù)只有一個(gè)副本并且被多個(gè)對(duì)象使用,那么如何訪問和更新適當(dāng)?shù)臄?shù)據(jù)成員?


編譯器提供隱式指針以及函數(shù)名稱作為“ this”。

“ this”指針作為隱藏參數(shù)傳遞給所有非靜態(tài)成員函數(shù)調(diào)用,并且可用作所有非靜態(tài)函數(shù)主體內(nèi)的局部變量?!?this”指針在靜態(tài)成員函數(shù)中不可用,因?yàn)榭梢栽跊]有任何對(duì)象(帶有類名)的情況下調(diào)用靜態(tài)成員函數(shù)。

對(duì)于X類,?this指針的類型為'X *'。另外,如果X的成員函數(shù)聲明為const,則此指針的類型為'const X *'

在早期的C ++版本中,“ this”指針將被更改。通過這樣做,程序員可以更改方法正在處理的對(duì)象。該功能最終被刪除,現(xiàn)在在C ++中為r值。

C ++通過調(diào)用以下代碼讓對(duì)象銷毀自身:

delete this;

正如Stroustrup所說的,“ this”可能是指針的引用,但是在C ++的早期版本中沒有引用。如果將“ this”實(shí)現(xiàn)為參考,則可以避免上述問題,并且比指針更安全。

以下是使用“ this”指針的情況:

1)當(dāng)局部變量的名稱與成員的名稱相同時(shí)


輸出:

x = 20

對(duì)于構(gòu)造函數(shù),當(dāng)參數(shù)名稱與成員名稱相同時(shí),也可以使用?initializer list?。

2)返回對(duì)調(diào)用對(duì)象的引用


當(dāng)返回對(duì)本地對(duì)象的引用時(shí),返回的引用可用于鏈接單個(gè)對(duì)象上的函數(shù)調(diào)用。


輸出:

x = 10 y = 20

練習(xí):(習(xí)題)

預(yù)測(cè)以下程序的輸出。如果存在編譯錯(cuò)誤,請(qǐng)修復(fù)它們。

問題一:


問題二:


問題三:


問題四:


以上幾個(gè)題目,大家有興趣的小伙伴可以自己去編譯器試試。

每天學(xué)點(diǎn)小知識(shí),希望對(duì)你有幫助~

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

微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地

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

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


C/C++編程筆記:C++中的“ this”指針,應(yīng)該如何使用?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
沭阳县| 宁城县| 太湖县| 大余县| 大丰市| 阳新县| 太湖县| 鄂温| 浦东新区| 凉城县| 田阳县| 茌平县| 营山县| 和林格尔县| 淄博市| 九龙坡区| 商洛市| 兴隆县| 阿尔山市| 琼海市| 泾源县| 柞水县| 绿春县| 新疆| 普安县| 西乡县| 博湖县| 凤山市| 天津市| 教育| 玛曲县| 县级市| 晋宁县| 栾川县| 忻城县| 电白县| 昌平区| 大英县| 神农架林区| 临西县| 烟台市|