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

歡迎光臨散文網(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ó)家法律
饶阳县| 新乡市| 抚顺县| 博爱县| 凭祥市| 新巴尔虎左旗| 赤城县| 新昌县| 谢通门县| 洞头县| 龙门县| 乌恰县| 镇远县| 察隅县| 左贡县| 九寨沟县| 麟游县| 屏东县| 乌鲁木齐县| 二连浩特市| 建湖县| 武川县| 花莲市| 嘉黎县| 托克逊县| 易门县| 北碚区| 阳春市| 巩义市| 黑龙江省| 桃园市| 波密县| 西畴县| 中方县| 大余县| 梅河口市| 华容县| 洪江市| 涿鹿县| 那坡县| 成武县|