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

解析c++中的默認(rèn)operator=操作的詳解

 更新時(shí)間:2013年05月13日 08:55:47   作者:  
本篇文章是對(duì)c++中的默認(rèn)operator=操作的應(yīng)用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下

在c++中,如果沒有定義operator=操作,編譯器會(huì)提供一個(gè)默認(rèn)的operator=操作。由于operator=操作和拷貝構(gòu)造函數(shù)的功能類似,都執(zhí)行拷貝操作。因此,編譯器也分提供無用的默認(rèn)operator=操作和非無用的默認(rèn)operator=操作。并且什么時(shí)候提供非無用的默認(rèn)operator=操作和無用的等操作的情形也和拷貝構(gòu)造函數(shù)類似。(詳細(xì)分析過程請(qǐng)參考《基于c++中的默認(rèn)拷貝函數(shù)的使用詳解》)

對(duì)于一個(gè)類,編譯器會(huì)提供非無用的operator=操作的情形:

1 該類是含有虛成員函數(shù)(繼承自虛基類,或者繼承的基類含有虛成員函數(shù)也屬于這種情況)

2 該類繼承的基類自定義了operator=操作(如果基類沒有自定義operator=操作,但是編譯器會(huì)為基類提供非無用的默認(rèn)operator=操作,也屬于這種情況。這就是說,只要基類有一個(gè)非無用的operator=操作就行,不管這個(gè)非無用operator=操作是自定義的,還是編譯器提供的都行)

3 該類含有成員對(duì)象,該成員對(duì)象自定義了operator=操作(如果成員對(duì)象沒有自定義operator=操作,但是編譯器會(huì)為成員對(duì)象變量提供非無用的默認(rèn)operator=操作,也屬于這種情況。這就是說,只要成員對(duì)象變量有一個(gè)非無用的operator=操作,不管這個(gè)非無用的operator=操作是自定義的,還是編譯器提供的,都行)


并且,如果類自定義了operator=操作,編譯器只是負(fù)責(zé)調(diào)用,不會(huì)額外提供任何拷貝過程;對(duì)于編譯器提供的默認(rèn)operator=操作,不管是無用的還是非無用的,都只執(zhí)行淺拷貝。

相關(guān)文章

  • C語言中while與do-while的介紹與注意事項(xiàng)

    C語言中while與do-while的介紹與注意事項(xiàng)

    對(duì)于C語言中的while與do-while,相信很多都再熟悉不過了,最近在工作中就用到了,所以想著總結(jié)一下,方便自己或者有需要的朋友們參考借鑒,文中通過示例代碼介紹的很詳細(xì),感興趣的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-10-10
  • 詳解windows下C/C++的內(nèi)存泄露檢測(cè)

    詳解windows下C/C++的內(nèi)存泄露檢測(cè)

    C/C++由于其沒有垃圾回收機(jī)制,所以內(nèi)存的釋放一直以來都依靠于程序員的手工釋放,因此極其容易出現(xiàn)內(nèi)存泄露的問題,而在比較大的程序之中,查找內(nèi)存泄露是一件比較困難的事情,所以我們需要一些簡(jiǎn)便的方法來檢測(cè)內(nèi)存泄露,避免內(nèi)存泄露導(dǎo)致設(shè)備崩潰
    2021-06-06
  • c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題

    c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題

    Lambda表達(dá)式是現(xiàn)代C++的一個(gè)語法糖,挺好用的。但是如果使用不當(dāng),會(huì)導(dǎo)致內(nèi)存泄露或潛在的崩潰問題,這里總結(jié)下c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題,感興趣的朋友一起看看吧
    2023-02-02
  • C++ 指向類成員的指針

    C++ 指向類成員的指針

    指向類成員的指針總的來講可以分為兩大類四小類(指向數(shù)據(jù)成員還是成員函數(shù),指向普通成員還是靜態(tài)成員)
    2020-03-03
  • Qt常用容器類的使用

    Qt常用容器類的使用

    本文主要介紹了Qt常用容器類的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 大數(shù)據(jù)情況下桶排序算法的運(yùn)用與C++代碼實(shí)現(xiàn)示例

    大數(shù)據(jù)情況下桶排序算法的運(yùn)用與C++代碼實(shí)現(xiàn)示例

    在排序元素很多的情況下,其實(shí)桶排序的性能并不是太高,這里我們配合單鏈表的直接插入排序,來看下一大數(shù)據(jù)情況下桶排序算法的運(yùn)用與C++代碼實(shí)現(xiàn)示例:
    2016-07-07
  • QT基于TCP實(shí)現(xiàn)網(wǎng)絡(luò)聊天室程序

    QT基于TCP實(shí)現(xiàn)網(wǎng)絡(luò)聊天室程序

    這篇文章主要為大家詳細(xì)介紹了QT基于TCP實(shí)現(xiàn)網(wǎng)絡(luò)聊天室程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++設(shè)計(jì)模式之建造者模式(Builder)

    C++設(shè)計(jì)模式之建造者模式(Builder)

    這篇文章主要介紹了C++設(shè)計(jì)模式之建造者模式Builder的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C++ vector容器縮小capacity問題

    C++ vector容器縮小capacity問題

    這篇文章主要介紹了C++ vector容器縮小capacity問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C/C++ Windows SAPI實(shí)現(xiàn)文字轉(zhuǎn)語音功能

    C/C++ Windows SAPI實(shí)現(xiàn)文字轉(zhuǎn)語音功能

    本文通過封裝Windows SAPI(Speech Application Programming Interface),提供了一個(gè)現(xiàn)代化的C++接口實(shí)現(xiàn)文字轉(zhuǎn)語音功能,這篇文章重點(diǎn)給大家介紹C/C++ Windows SAPI自實(shí)現(xiàn)文字轉(zhuǎn)語音功能,感興趣的朋友一起看看吧
    2025-02-02

最新評(píng)論

溧阳市| 工布江达县| 信阳市| 曲松县| 慈溪市| 武鸣县| 潞城市| 华安县| 满城县| 舟曲县| 寻甸| 清水河县| 磴口县| 汪清县| 萨嘎县| 九江县| 新沂市| 德安县| 楚雄市| 宁南县| 夏河县| 富阳市| 凤阳县| 牟定县| 兴城市| 陇川县| 桃江县| 武强县| 墨玉县| 南昌市| 蒲江县| 牙克石市| 会东县| 磴口县| 曲阜市| 民勤县| 勃利县| 湟中县| 河北区| 东海县| 鄢陵县|