日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

16.C++中的this指针

發(fā)布時間:2025/3/21 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 16.C++中的this指针 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在之前學(xué)習(xí)Python時,接觸到self形參,它是指向類對象的一個地址。

在C++學(xué)習(xí)過程中,也有這樣的機制,那就是this指針

我們在調(diào)用成員函數(shù)的時候,實際上是替類的對象調(diào)用它!成員函數(shù)通過一個名為this的額外的隱式參數(shù)來訪問調(diào)用它的那個對象!當(dāng)我們調(diào)用成員函數(shù)的時候,用請求的該函數(shù)的對象的地址來初始化this形參。即編譯器負責(zé)把對象的地址傳遞給this形參。

因為this的目的總是指向這個對象,因此,this默認(rèn)是常量指針!我們不允許改變this中的地址。


有時候我們?yōu)榱吮苊庹{(diào)用的成員函數(shù)修改調(diào)用對象的內(nèi)容,常常把這個成員函數(shù)聲明為常量成員函數(shù),常見的做法是在函數(shù)的聲明之后添加const關(guān)鍵字!

sales_data& combine(const sales_data&) const;

默認(rèn)的情況下,this的類型是指向類類型非常量版本的常量指針。即是: sales_data * const

也就是,this指針保存的地址不能改變,但是指向的對象的內(nèi)容可以改變。

當(dāng)我們在成員函數(shù)聲明之后添加const關(guān)鍵字之后,就將this修改為?? const? sales_data * const? ,避免調(diào)用的成員函數(shù)修改調(diào)用對象的內(nèi)容。


定義一個返回this對象的函數(shù)

sales_data& sales_data::combine(const sales_data & rhs) {units_sold += rhs.units_sold;revenue += rhs.revenue;return *this; }

我們無須使用隱式的this指針訪問函數(shù)調(diào)用者的某個具體成員,而是需要把調(diào)用函數(shù)的對象當(dāng)作是一個整體來訪問。return語句解引用this指針以獲得執(zhí)行該函數(shù)的對象。

總結(jié)

以上是生活随笔為你收集整理的16.C++中的this指针的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。