第13章 拷貝控制

  1. 拷貝控制成員函數(shù):拷貝構(gòu)造、拷貝賦值细睡、移動構(gòu)造谷羞、移動賦值、析構(gòu);不顯式定義則編譯器會生成合成版本湃缎∠睿拷貝和移動構(gòu)造函數(shù)定義了當(dāng)用同類型的另一個對象初始化本對象時做什么∩のィ拷貝和移動賦值運算符定義了將本對象初始化同類型的另一個對象時做什么九巡。析構(gòu)函數(shù)定義了銷毀對象時做什么。

13.1 拷貝蹂季、賦值與銷毀

13.1.1 拷貝構(gòu)造函數(shù)

1.拷貝構(gòu)造函數(shù):第一個參數(shù)是自身類類型的引用(必須是引用)冕广,且額外參數(shù)有默認(rèn)值。

  1. 拷貝初始化發(fā)生場景:
    1 用 = 號定義變量
    2 將一個對象作為實參傳遞給一個非引用類型的形參偿洁。
    3 從一個返回類型為非引用類型的函數(shù)返回一個對象撒汉。
    4 用花括號列表初始化一個數(shù)組中的元素或一個聚合類的成員。
    5 初始化標(biāo)準(zhǔn)庫容器或調(diào)用其insert或push成員
  2. 直接初始化與拷貝初始化:直接初始化要求編譯器使用普通的函數(shù)匹配來選擇與我們提供的額參數(shù)最匹配的構(gòu)造函數(shù)涕滋〔欠拷貝初始化要求編譯器將有不運算對象拷貝到正在創(chuàng)建的對象中,如果需要還要進(jìn)行類型轉(zhuǎn)換宾肺。
  3. 如果拷貝構(gòu)造函數(shù)的參數(shù)不是引用類型溯饵,則永遠(yuǎn)不會成功——為了調(diào)用拷貝構(gòu)造函數(shù),我們必須拷貝它的實參爱榕,但為了拷貝實參瓣喊,我們又需要調(diào)用拷貝構(gòu)造函數(shù),如此無線循環(huán)黔酥。

13.1.2 拷貝賦值運算符

  1. 重載運算符本質(zhì)上是函數(shù)

13.1.3 析構(gòu)函數(shù)

1.析構(gòu)函數(shù):釋放對象使用資源藻三,并銷毀非stastic數(shù)據(jù)成員;不接受參數(shù)跪者,不能重載棵帽;先執(zhí)行函數(shù)體,再按初始化的逆序隱式銷毀成員渣玲;內(nèi)置指針類型不會delete對象逗概,智能指針是類類型所有可以釋放;引用和值指針離開作用域不析構(gòu)綁定對象忘衍。

13.1.4 三五法則

  1. 三/五法則:5個拷貝控制成員應(yīng)看作整體逾苫,定義了一個則應(yīng)定義所有。
  2. 需要拷貝構(gòu)造函數(shù)的類也需要賦值操作枚钓,反之亦然铅搓。

13.1.6 阻止拷貝

  1. 阻止拷貝:定義刪除的拷貝控制函數(shù);新標(biāo)準(zhǔn)發(fā)布前搀捷,通常將拷貝控制成員聲明為private星掰,并且不定義它們.
  2. 刪除的函數(shù):在函數(shù)的參數(shù)列表后面加上=delete來指出我們希望將它定義為刪除的。
  3. 析構(gòu)函數(shù)不能是刪除的成員。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氢烘,一起剝皮案震驚了整個濱河市怀偷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌播玖,老刑警劉巖椎工,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異黎棠,居然都是意外死亡晋渺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進(jìn)店門脓斩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來木西,“玉大人,你說我怎么就攤上這事随静“饲В” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵燎猛,是天一觀的道長恋捆。 經(jīng)常有香客問我,道長重绷,這世上最難降的妖魔是什么沸停? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮昭卓,結(jié)果婚禮上愤钾,老公的妹妹穿的比我還像新娘。我一直安慰自己候醒,他們只是感情好能颁,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著倒淫,像睡著了一般伙菊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敌土,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天镜硕,我揣著相機(jī)與錄音,去河邊找鬼返干。 笑死谦疾,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的犬金。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晚顷!你這毒婦竟也來了峰伙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤该默,失蹤者是張志新(化名)和其女友劉穎瞳氓,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栓袖,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡匣摘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了裹刮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片音榜。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖捧弃,靈堂內(nèi)的尸體忽然破棺而出赠叼,到底是詐尸還是另有隱情,我是刑警寧澤违霞,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布嘴办,位于F島的核電站,受9級特大地震影響买鸽,放射性物質(zhì)發(fā)生泄漏涧郊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一眼五、第九天 我趴在偏房一處隱蔽的房頂上張望妆艘。 院中可真熱鬧,春花似錦弹砚、人聲如沸双仍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朱沃。三九已至,卻和暖如春茅诱,著一層夾襖步出監(jiān)牢的瞬間逗物,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工瑟俭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留翎卓,地道東北人。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓摆寄,卻偏偏與公主長得像失暴,于是被迫代替她去往敵國和親坯门。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容