《深度搜索C++對象模型》完本有感

看了《深度搜索C++對象模型》,做了一些小實驗侣滩,真正值得注意的口注,其實只有兩個章節(jié)。其他的章節(jié)太過繁瑣胜卤,要么就是個人覺得沒有意義疆导。
第二章:構(gòu)造函數(shù)語義學(xué)
第四章:Function語義學(xué)

接下來會
(1)程序員應(yīng)該如何理解多態(tài)赁项、繼承葛躏、Function語義學(xué)之間的關(guān)系澈段。
(2)拷貝構(gòu)造函數(shù)在編譯器中的使用和轉(zhuǎn)換特征。
(3)C++中move語義對我們的作用舰攒。


多態(tài)

  • 多態(tài):多種狀態(tài)
  • 主要用途:經(jīng)由一個共同的接口來影響類型的封裝败富,這個接口通常被定義在一個抽象的base class中
  • C++支持多態(tài)的方法:
    1.隱式的轉(zhuǎn)換操作。
    2.虛函數(shù)機制摩窃。
    3.dynamic_cast和typeid運算符兽叮。

程序員視角

多態(tài)分兩類,靜態(tài)多態(tài)和動態(tài)多態(tài)猾愿。

  • 靜態(tài)多態(tài):重載鹦聪。
  • 動態(tài)多態(tài):①位于繼承體系之下。②由虛函數(shù)機制支持蒂秘。③使用引用或指針調(diào)用該特性泽本。

我們確認了幾個條件:虛函數(shù)離不開繼承,使用多態(tài)離不開類的繼承姻僧。

繼承

  • 繼承:is-a
  • 主要用途:略
  • 繼承的主要方式:
    1.單一繼承规丽。
    2.多重繼承。
    3.虛繼承撇贺。

程序員視角

子類繼承了父類的特性赌莺。

虛函數(shù)機制

C++對象模型:

  • class:vtbl
  • object:vptr

程序員視角

問題一、在C++對象模型中松嘶,一個類對象艘狭,是如何在內(nèi)存中描述的?

  • 1.數(shù)據(jù)成員:static翠订、non-static
  • 2.函數(shù)成員:static缓升、non-static、virtual

問題二蕴轨、經(jīng)過單一繼承以后港谊,以上成員是如何描述的?

問題三橙弱、經(jīng)過多重繼承以后歧寺,以上成員是如何描述的?
核心:指針調(diào)整棘脐。

問題四斜筐、經(jīng)過虛擬繼承以后,以上成員是如何描述的蛀缝?


拷貝構(gòu)造函數(shù)語義學(xué)

  • 使用場景
    1.顯式初始化操作顷链。
    2.作為參數(shù)傳給某個函數(shù)。
    3.傳回一個object屈梁。
    拷貝構(gòu)造函數(shù)的定義 X::X(const X& x);
  • NRV優(yōu)化
    核心:
    通過修改函數(shù)原型嗤练,傳入引用榛了,實現(xiàn)臨時對象的使用。

C++11中move語義

Move語義:邏輯上是移動的煞抬,實現(xiàn)資源竊取霜大。
1.與淺拷貝構(gòu)造函數(shù)區(qū)別。
move是安全的革答。
2.如何使用move語義战坤?

  • 右值引用:右值是一個臨時對象,令其存在-->右值引用残拐。
  • 使用:當表達式為右值途茫,在C++11中,優(yōu)先調(diào)用Move語義構(gòu)造溪食。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慈省,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子眠菇,更是在濱河造成了極大的恐慌边败,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捎废,死亡現(xiàn)場離奇詭異笑窜,居然都是意外死亡,警方通過查閱死者的電腦和手機登疗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門排截,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辐益,你說我怎么就攤上這事断傲。” “怎么了智政?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵认罩,是天一觀的道長。 經(jīng)常有香客問我续捂,道長垦垂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任牙瓢,我火速辦了婚禮劫拗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘矾克。我一直安慰自己页慷,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酒繁,像睡著了一般滓彰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欲逃,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音饼暑,去河邊找鬼稳析。 笑死,一個胖子當著我的面吹牛弓叛,可吹牛的內(nèi)容都是我干的彰居。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼撰筷,長吁一口氣:“原來是場噩夢啊……” “哼陈惰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起毕籽,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤抬闯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后关筒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溶握,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年蒸播,在試婚紗的時候發(fā)現(xiàn)自己被綠了睡榆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡袍榆,死狀恐怖胀屿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情包雀,我是刑警寧澤宿崭,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站才写,受9級特大地震影響劳曹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜琅摩,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一铁孵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧房资,春花似錦蜕劝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暑始。三九已至,卻和暖如春婴削,著一層夾襖步出監(jiān)牢的瞬間廊镜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工唉俗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嗤朴,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓虫溜,卻偏偏與公主長得像雹姊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子衡楞,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348