最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

當(dāng)C++類(lèi)的成員函數(shù)其返回值是*this時(shí),表示返回值是調(diào)用該成員函數(shù)的變量的引用。

例如:

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

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

1 返回值是左值

func1()函數(shù)的返回值是類(lèi)型A的引用,該返回值是左值。也就是說(shuō),此時(shí)返回的是調(diào)用該函數(shù)的對(duì)象本身,通過(guò)該返回值可以調(diào)用該對(duì)象的其他成員函數(shù)或者對(duì)其他成員變量進(jìn)行賦值。

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

此時(shí)類(lèi)A的對(duì)象a的成員變量i的值是10。

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

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

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

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

a.func2().i = 100;

此時(shí)的報(bào)錯(cuò)信息為“error C3892: “a”: 不能給常量賦值”。

對(duì)C++類(lèi)成員返回語(yǔ)句return *this的理解

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

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

若返回類(lèi)型是 class& ,那么將返回一個(gè)綁定在 this 指向的對(duì)象實(shí)體上的引用。

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

相關(guān)文章

  • 利用C/C++二進(jìn)制讀寫(xiě)png文件的方法示例

    利用C/C++二進(jìn)制讀寫(xiě)png文件的方法示例

    最近在做項(xiàng)目的時(shí)候遇到了這個(gè)問(wèn)題,所以想著總結(jié)下,方法自己和有需要的朋友,下面這篇文章主要介紹了利用C/C++二進(jìn)制讀寫(xiě)png文件的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • Qt 信號(hào)自定義槽函數(shù)的實(shí)現(xiàn)

    Qt 信號(hào)自定義槽函數(shù)的實(shí)現(xiàn)

    Qt中實(shí)現(xiàn)自定義信號(hào)與槽函數(shù),信號(hào)用于發(fā)送并觸發(fā)槽函數(shù),槽函數(shù)則是具體的功能實(shí)現(xiàn),本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2021-11-11
  • C#委托所蘊(yùn)含的函數(shù)指針概念詳細(xì)解析

    C#委托所蘊(yùn)含的函數(shù)指針概念詳細(xì)解析

    C#中用委托這種概念實(shí)現(xiàn)了函數(shù)指針技術(shù)而已,另外.ent提供額外的安全性,當(dāng)然也損失了靈活性
    2013-09-09
  • 在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法

    在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法

    這篇文章主要介紹了在C語(yǔ)言中比較兩個(gè)字符串是否相等的方法,分別介紹了strcmp()函數(shù)和strcasecmp()函數(shù),注意功能區(qū)分,需要的朋友可以參考下
    2015-08-08
  • C++實(shí)現(xiàn)團(tuán)購(gòu)訂單管理系統(tǒng)

    C++實(shí)現(xiàn)團(tuán)購(gòu)訂單管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)團(tuán)購(gòu)訂單管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-12-12
  • C++類(lèi)模板實(shí)戰(zhàn)之vector容器的實(shí)現(xiàn)

    C++類(lèi)模板實(shí)戰(zhàn)之vector容器的實(shí)現(xiàn)

    本文我們將做一個(gè)類(lèi)模板實(shí)戰(zhàn)-手寫(xiě)精簡(jiǎn)版vector容器。讓我們自己封裝一個(gè)數(shù)組類(lèi),可以適應(yīng)基本數(shù)據(jù)類(lèi)型和自定義數(shù)據(jù)類(lèi)型,感興趣的可以了解一下
    2022-07-07
  • C++中關(guān)于set刪除的一些坑

    C++中關(guān)于set刪除的一些坑

    這篇文章主要介紹了C++中關(guān)于set刪除的一些坑,因?yàn)檫@個(gè)問(wèn)題浪費(fèi)了很多的時(shí)間,所以想著分享出來(lái)給大家,方便同樣遇到這個(gè)問(wèn)題的朋友們,有需要的朋友們下面來(lái)一起看看吧。
    2017-02-02
  • 數(shù)據(jù)結(jié)構(gòu)之矩陣行列和相等的實(shí)例

    數(shù)據(jù)結(jié)構(gòu)之矩陣行列和相等的實(shí)例

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之矩陣行列和相等的實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C++深入分析講解函數(shù)與重載知識(shí)點(diǎn)

    C++深入分析講解函數(shù)與重載知識(shí)點(diǎn)

    C++?允許多個(gè)函數(shù)擁有相同的名字,只要它們的參數(shù)列表不同就可以,這就是函數(shù)的重載(Function?Overloading),借助重載,一個(gè)函數(shù)名可以有多種用途
    2022-06-06
  • C語(yǔ)言編程PAT乙級(jí)學(xué)習(xí)筆記示例分享

    C語(yǔ)言編程PAT乙級(jí)學(xué)習(xí)筆記示例分享

    這篇文章主要為大家介紹了C語(yǔ)言編程PAT乙級(jí)學(xué)習(xí)筆記實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論

玉田县| 随州市| 曲阜市| 扶绥县| 天气| 汶上县| 洛阳市| 诸城市| 崇仁县| 长沙县| 镇安县| 富民县| 儋州市| 安徽省| 建平县| 淳化县| 洛南县| 南安市| 科技| 县级市| 梨树县| 区。| 阿合奇县| 通河县| 永仁县| 当涂县| 贺兰县| 微山县| 千阳县| 东海县| 阳西县| 天津市| 赤壁市| 宾川县| 怀安县| 邵阳县| 彩票| 修武县| 新巴尔虎左旗| 翁源县| 甘泉县|