国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
章丘市| 芒康县| 扎兰屯市| 三亚市| 神农架林区| 上思县| 绥宁县| 莎车县| 金湖县| 乌兰县| 望都县| 长乐市| 马公市| 东辽县| 宁都县| 阳曲县| 杭锦后旗| 花莲县| 华亭县| 玛多县| 刚察县| 碌曲县| 特克斯县| 西充县| 遂溪县| 利津县| 米泉市| 南汇区| 盘山县| 日喀则市| 盐源县| 济宁市| 安塞县| 沙洋县| 博野县| 瓦房店市| 商南县| 蓝田县| 庆元县| 阿克| 蒙城县|