注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C++新經典:對象模型

C++新經典:對象模型

C++新經典:對象模型

定 價:¥79.00

作 者: 王健偉 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302551263 出版時間: 2020-06-01 包裝: 平裝
開本: 16 頁數(shù): 264 字數(shù):  

內容簡介

  本書是一部介紹C++對象模型知識的書,意在探究C++幕后的秘密,講述C++編譯器的故事。內容涉及很多不被常人所知的C++對象內部工作原理以及底層的一些具體實現(xiàn)機制方面的知識。本書共分為7章: 第1章介紹書中范例所涉及的演示環(huán)境搭建、如何創(chuàng)建基本的C++程序,以及對程序進行跟蹤和斷點調試的方法。第2章的主題是對象,包括以對象所占內存大小為講解切入點詳述對象結構的發(fā)展和演化; 構造、拷貝構造、移動構造函數(shù)語義; 深淺拷貝、成員初始化列表等內容。第3章的主題是虛函數(shù),包括虛函數(shù)表指針、虛函數(shù)表的概念和細節(jié); 更進一步涉及多重繼承的虛函數(shù)表分析和各種輔助工具的講解。第4章的主題是數(shù)據語義學,包括類中的數(shù)據成員布局、數(shù)據成員存取,涉及單一繼承、單類單繼承、多重繼承等情況下的數(shù)據成員布局; 二層、三層結構時虛基類表內容、與this指針調整等問題。第5章的主題是函數(shù)語義學,包括普通成員函數(shù)、虛函數(shù)、靜態(tài)成員函數(shù)調用方式; 靜態(tài)、動態(tài)綁定以及多態(tài)性的詳細體現(xiàn)分析和析構函數(shù)必須是虛函數(shù)原因的著重解釋; 多重繼承第二虛基類詳談、RTTI實現(xiàn)原理、inline函數(shù)細說等內容。第6章的主題是對象構造語義學,包括對象構造順序,對象復制、析構函數(shù)語義; 局部、全局對象的構造和析構,臨時對象詳細探討等內容。第7章的主題是模板實例化語義學,重點對模板的實例化進行了詳細的分析。這是一本C++進階類圖書,要求學習者具備一定的C++開發(fā)基礎,適合作為C++編程人員的參考讀物。

作者簡介

  王健偉男,1976年9月生,網名狂想(KuangXiang),1995年畢業(yè)于哈爾濱工程大學計算機及應用專業(yè),擁有20多年軟件開發(fā)經驗,參與開發(fā)過數(shù)十個實際項目,涉及網絡通信、網絡安全、網絡游戲等領域,具備極其深厚的軟件開發(fā)實戰(zhàn)經驗。曾參與創(chuàng)辦深圳知名網絡安全公司安絡科技有限公司,是中國首套網絡安全在線掃描評估系統(tǒng)項目負責人、全球同服獨立游戲《冒險之路》制作人。

圖書目錄



目錄


第1章演示環(huán)境介紹和準備

1.1演示環(huán)境搭建說明

1.2創(chuàng)建最基本的能運行的C++程序

1.3Visual Studio中程序的調試方法

第2章對象

2.1類對象所占用的空間

2.2對象結構的發(fā)展和演化

2.3this指針調整

2.4分析obj(目標文件)與構造函數(shù)語義

2.5拷貝構造函數(shù)語義與移動構造函數(shù)語義

2.5.1拷貝構造函數(shù)語義

2.5.2移動構造函數(shù)語義

2.6程序轉換語義

2.6.1定義時初始化對象

2.6.2參數(shù)的初始化

2.6.3返回值初始化

2.7程序的優(yōu)化

2.7.1從開發(fā)者層面的優(yōu)化

2.7.2從編譯器層面的優(yōu)化

2.8程序優(yōu)化續(xù)、拷貝構造函數(shù)續(xù)與深淺拷貝

2.8.1程序優(yōu)化續(xù)

2.8.2拷貝構造續(xù)

2.8.3深淺拷貝

2.9成員初始化列表

2.9.1何時必須用成員初始化列表

2.9.2使用初始化列表的優(yōu)勢

2.9.3初始化列表的細節(jié)探究

第3章虛函數(shù)

3.1虛函數(shù)表指針位置分析

3.2繼承關系作用下虛函數(shù)的手工調用

3.3虛函數(shù)表分析

3.4多重繼承虛函數(shù)表分析

3.5輔助工具與vptr、vtbl創(chuàng)建時機

3.5.1使用輔助工具查看虛函數(shù)表

3.5.2虛函數(shù)表的創(chuàng)建時機

3.6單純的類不純時引發(fā)的虛函數(shù)調用問題





第4章數(shù)據語義學

4.1數(shù)據成員綁定時機

4.1.1成員函數(shù)函數(shù)體的解析時機(整個類定義完畢后)

4.1.2成員函數(shù)參數(shù)類型的確定時機(最近碰到原則)

4.2進程內存空間布局

4.3數(shù)據成員布局

4.3.1觀察成員變量地址規(guī)律

4.3.2邊界調整與字節(jié)對齊

4.3.3成員變量偏移值的打印

4.4數(shù)據成員的存取

4.4.1靜態(tài)成員變量的存取

4.4.2非靜態(tài)成員變量的存取

4.5單一繼承下的數(shù)據成員布局

4.6單類單繼承虛函數(shù)下的數(shù)據成員布局

4.6.1單個類帶虛函數(shù)的數(shù)據成員布局

4.6.2單一繼承父類帶虛函數(shù)的數(shù)據成員布局

4.6.3單一繼承父類不帶虛函數(shù)的數(shù)據成員布局

4.7多重繼承數(shù)據布局與this調整深談

4.7.1單一繼承數(shù)據成員布局this指針偏移知識補充

4.7.2多重繼承且父類都帶虛函數(shù)的數(shù)據成員布局

4.8虛基類問題的提出和初探

4.8.1虛基類(虛繼承/虛派生)問題的提出

4.8.2虛基類初探

4.9兩層結構時虛基類表內容分析

4.9.1虛基類表內容之5~8字節(jié)內容分析

4.9.2各種形式的繼承

4.9.3虛基類表內容之1~4字節(jié)內容分析

4.10三層結構時虛基類表內容分析與虛基類設計原由

4.10.1三層結構時虛基類表內容分析

4.10.2虛基類為什么這樣設計

4.11成員變量地址、偏移與指針等重申

4.11.1對象成員變量內存地址及其指針

4.11.2成員變量的偏移值及其指針

4.11.3成員變量指針和不指向任何成員變量的成員變量指針

第5章函數(shù)語義學

5.1普通成員函數(shù)調用方式

5.2虛成員函數(shù)與靜態(tài)成員函數(shù)調用方式

5.2.1虛成員函數(shù)調用方式

5.2.2靜態(tài)成員函數(shù)調用方式

5.3虛函數(shù)地址問題的vcall引入

5.4靜動態(tài)類型、綁定、坑點與多態(tài)體現(xiàn)深談

5.4.1靜態(tài)類型和動態(tài)類型

5.4.2靜態(tài)綁定和動態(tài)綁定

5.4.3繼承的非虛函數(shù)坑

5.4.4虛函數(shù)的動態(tài)綁定

5.4.5重新定義虛函數(shù)的缺省參數(shù)坑

5.4.6C++中的多態(tài)性

5.5單繼承虛函數(shù)趣味性測試和回顧

5.5.1單繼承下的虛函數(shù)

5.5.2回顧和一些小試驗

5.6多繼承虛函數(shù)深釋、第二基類與虛析構必加

5.6.1多繼承下的虛函數(shù)

5.6.2如何成功刪除用第二基類指針new出來的子類對象

5.6.3父類非虛析構函數(shù)時導致的內存泄露演示

5.7多繼承第二基類虛函數(shù)支持與虛繼承帶虛函數(shù)

5.7.1多重繼承第二基類對虛函數(shù)支持的影響(this指針調整作用)

5.7.2虛繼承下的虛函數(shù)

5.8RTTI(運行時類型識別)回顧與存儲位置簡介

5.8.1RTTI(運行時類型識別)簡單回顧

5.8.2RTTI實現(xiàn)原理

5.8.3vptr、vtbl與RTTI的 type_info信息創(chuàng)建時機

5.9函數(shù)調用與繼承關系性能

5.9.1函數(shù)調用中編譯器的循環(huán)代碼優(yōu)化

5.9.2繼承關系深度增加,開銷也增加

5.9.3繼承關系深度增加,虛函數(shù)導致的開銷增加

5.10指向成員函數(shù)的指針和vcall

5.10.1不用類對象能否調用類的虛函數(shù)和普通成員函數(shù)

5.10.2指向成員函數(shù)的指針

5.10.3指向虛成員函數(shù)的指針和vcall

5.10.4vcall在繼承關系中的體現(xiàn)

5.11inline函數(shù)回顧和擴展

5.11.1inline函數(shù)回顧

5.11.2inline擴展


第6章對象構造語義學

6.1繼承體系下的對象構造

6.1.1對象的構造順序

6.1.2虛函數(shù)

6.1.3構造函數(shù)中對虛函數(shù)的調用

6.2對象復制語義學與析構函數(shù)語義學

6.2.1對象的默認復制行為

6.2.2拷貝賦值運算符與拷貝構造函數(shù)

6.2.3如何禁止對象的拷貝構造和賦值

6.2.4析構函數(shù)語義

6.3局部對象、全局對象的構造和析構

6.3.1局部對象的構造和析構

6.3.2全局對象的構造和析構

6.4局部靜態(tài)對象、對象數(shù)組構造析構和內存分配

6.4.1局部靜態(tài)對象的構造和析構

6.4.2局部靜態(tài)對象數(shù)組的內存分配

6.5new、delete運算符與內存高級話題

6.6臨時性對象的詳細探討

6.6.1拷貝構造函數(shù)相關的臨時性對象

6.6.2拷貝賦值運算符相關的臨時性對象

6.6.3直接運算產生的臨時性對象

第7章模板實例化語義學

7.1模板及其實例化詳細分析

7.1.1函數(shù)模板

7.1.2類模板的實例化分析

7.1.3多個源文件中使用類模板

7.2炫技寫法

7.2.1不能被繼承的類

7.2.2類外調用私有虛成員函數(shù)

后記



本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號