欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++類的返回值是*this的成員函數(shù)問題

 更新時間:2022年11月25日 08:36:18   作者:棉猴  
這篇文章主要介紹了C++類的返回值是*this的成員函數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

C++類返回值是*this成員函數(shù)

當C++類的成員函數(shù)其返回值是*this時,表示返回值是調用該成員函數(shù)的變量的引用。

例如:

class A
{
public:
? A& func1() {
? return *this;
? }
? int i{0};
}

此時,類A的成員函數(shù)func1的返回值是*this,該成員函數(shù)的返回值類型是A&。

1 返回值是左值

func1()函數(shù)的返回值是類型A的引用,該返回值是左值。也就是說,此時返回的是調用該函數(shù)的對象本身,通過該返回值可以調用該對象的其他成員函數(shù)或者對其他成員變量進行賦值。

A a;
a.func1().i = 10;

此時類A的對象a的成員變量i的值是10。

2 const成員函數(shù)的返回值

在const成員函數(shù)中,不能修改對象的成員變量。當const成員函數(shù)返回值是*this時,表示返回的是一個const對象的引用。

const A& func2()const {
? return *this;
}

其中,func2()函數(shù)是類A的const成員函數(shù),該函數(shù)的返回值類型是const A&,而不是A&。此時,如果通過func2()函數(shù)的返回值修改對象的成員變量

a.func2().i = 100;

此時的報錯信息為“error C3892: “a”: 不能給常量賦值”。

對C++類成員返回語句return *this的理解

經(jīng)常會在類似 copy-assignment 的成員函數(shù)看到返回語句 return *this ,這類函數(shù)通常返回類型是所屬類的引用。

類成員函數(shù)的隱式指針 class *this const 經(jīng)過 *this的解引用后成為此對象本身。此時若成員函數(shù)返回類型是 class ,那么返回的將是 this 指向的對象實體的拷貝;

若返回類型是 class& ,那么將返回一個綁定在 this 指向的對象實體上的引用。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C語言中fgets和fscanf區(qū)別詳解

    C語言中fgets和fscanf區(qū)別詳解

    這篇文章主要介紹了C語言中fgets和fscanf區(qū)別詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下
    2017-10-10
  • C++11新特性之列表初始化的具體使用

    C++11新特性之列表初始化的具體使用

    在我們實際編程中,我們經(jīng)常會碰到變量初始化的問題,本文主要介紹了C++11新特性之列表初始化的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++利用用埃式篩法求解素數(shù)

    C++利用用埃式篩法求解素數(shù)

    埃拉托斯特尼篩法,簡稱埃氏篩或愛氏篩,是一種由希臘數(shù)學家埃拉托斯特尼所提出的一種簡單檢定素數(shù)的算法。本文將利用這一算法實現(xiàn)求解素數(shù),感興趣的可以了解一下
    2023-01-01
  • C++ 格式化日志輸出實現(xiàn)代碼

    C++ 格式化日志輸出實現(xiàn)代碼

    這篇文章主要介紹了C++ 格式化日志輸出實現(xiàn)代碼,需要的朋友可以參考下
    2019-04-04
  • 詳解C++ STL vector容器訪問元素的幾種方式

    詳解C++ STL vector容器訪問元素的幾種方式

    這篇文章主要介紹了詳解C++ STL vector容器訪問元素的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • C++針對bmp格式解析實例

    C++針對bmp格式解析實例

    這篇文章主要介紹了C++針對bmp格式解析實例,設計CWnd框架的使用及位圖的操作,需要的朋友可以參考下
    2014-10-10
  • 配合ffmpeg接口獲取視頻音頻媒體信息詳解

    配合ffmpeg接口獲取視頻音頻媒體信息詳解

    這篇文章主要為大家介紹了配合ffmpeg接口獲取視頻音頻媒體信息詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • C++派生類與基類的轉換規(guī)則

    C++派生類與基類的轉換規(guī)則

    基類與派生類對象之間有賦值兼容關系,由于派生類中包含從基類繼承的成員,具體表現(xiàn)在以下幾個方面,需要的朋友可以參考下
    2012-11-11
  • C語言之素數(shù)(質數(shù))的判斷以及輸出

    C語言之素數(shù)(質數(shù))的判斷以及輸出

    這篇文章主要介紹了C語言之素數(shù)(質數(shù))的判斷以及輸出方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • C++中l(wèi)ist的使用與模擬實現(xiàn)

    C++中l(wèi)ist的使用與模擬實現(xiàn)

    list相較于vector來說會顯得復雜,它的好處是在任意位置插入,刪除都是一個O(1)的時間復雜度,下面這篇文章主要給大家介紹了關于C++中l(wèi)ist的使用與模擬實現(xiàn)的相關資料,需要的朋友可以參考下
    2022-05-05

最新評論