日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

16.C++中的this指针

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

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

在C++學習過程中,也有這樣的機制,那就是this指針

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

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


有時候我們為了避免調用的成員函數修改調用對象的內容,常常把這個成員函數聲明為常量成員函數,常見的做法是在函數的聲明之后添加const關鍵字!

sales_data& combine(const sales_data&) const;

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

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

當我們在成員函數聲明之后添加const關鍵字之后,就將this修改為?? const? sales_data * const? ,避免調用的成員函數修改調用對象的內容。


定義一個返回this對象的函數

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。