国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

讀“深度探索C++模型”的一些理解

2019-11-08 00:49:09
字體:
來源:轉載
供稿:網友


(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

同事推薦讀的這本書,讀完發現正是自己想要的!

之前疑惑的一些東西,有賴于嘗試或猜測的,讀完之后就比較清晰了:

例如

C++的類之于C的結構體,內存布局如何實現的?

C++的靜態函數從內存結構上是如何存儲的?

C++虛函數的調用效率如何?

構造函數的調用時機,是誰來確定的?

讀完之后,模型實現清楚了,編譯器做的事情有了了解,它的機理也就比較明白了。

也把自己認識到的幾個點寫下來:

1. C++的類之于結構體,有了函數,虛函數,靜態函數,構造函數,類繼承;

2. 虛函數的內存結構上是虛函數表指針;

    函數,靜態函數不占用內存空間,相當于一個函數符號。

3. 編譯期,函數的調用是翻譯為 func(this,參數),靜態函數翻譯為 func(參數);

4. 構造函數、西溝函數的調用,由編譯器在合適的位置調用。

5. 虛函數的調用效率也還是比較高的,調用時并不需要再查詢,在編譯器會確定虛函數的index,調用形如 call this->vptr[0] (this, 參數)。

6. 類繼承從數據的結構上看,在一個數據結構上再附加上一段數據信息;虛函數--在構造函數中,編譯器附加的代碼填充的虛函數表。

7. 全局變量的初始化和析構是編譯器在main的一開始和最后附加了調用的處理。

發現,編譯器附加的處理,附加的代碼真多,為了C++引入的特性操碎了心。

 

推薦使用C++,對C++和C的不同比較感興趣,希望深入了解,但還沒有讀的同學,可以一讀!

 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)


上一篇:protobuf C++ 使用示例

下一篇:C++-this指針

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 桦川县| 同德县| 汤原县| 三江| 武清区| 汶川县| 尖扎县| 望奎县| 永顺县| 沛县| 肇源县| 百色市| 西昌市| 安丘市| 通山县| 治多县| 丰原市| 古蔺县| 陆川县| 吉安市| 重庆市| 泰宁县| 手游| 澄迈县| 苍梧县| 马鞍山市| 南岸区| 安达市| 兴文县| 伊吾县| 萍乡市| 平阳县| 普安县| 全州县| 广南县| 东方市| 千阳县| 饶阳县| 三明市| 高密市| 静宁县|