-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
傳世經典書叢深度探索C++對象模型/傳世經典書叢 版權信息
- ISBN:9787121149528
- 條形碼:9787121149528 ; 978-7-121-14952-8
- 裝幀:一般輕型紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
傳世經典書叢深度探索C++對象模型/傳世經典書叢 本書特色
如果你是一位C++程序員,渴望對于底層知識獲得一個完整的了解,那么本書正適合你
傳世經典書叢深度探索C++對象模型/傳世經典書叢 內容簡介
作者Lippman參與設計了全世界套C++編譯程序cfront,這本書就是一位偉大的C++編譯程序設計者向你闡述他如何處理各種explicit(明確出現于C++程序代碼中)和implicit(隱藏于程序代碼背后)的C++語意。 本書專注于C++面向對象程序設計的底層機制,包括結構式語意、臨時性對象的生成、封裝、繼承,以及虛擬——虛擬函數和虛擬繼承。這本書讓你知道:一旦你能夠了解底層實現模型,你的程序代碼將獲得多么大的效率。Lippman澄清了那些關于C++額外負荷與復雜度的各種錯誤信息和迷思,但也指出其中某些成本和利益交換確實存在。他闡述了各式各樣的實現模型,指出它們的進化之道及其本質因素。書中涵蓋了C++對象模型的語意暗示,并指出這個模型是如何影響你的程序的。 對于C++底層機制感興趣的讀者,這必然是一本讓你大呼過癮的絕妙好書。
傳世經典書叢深度探索C++對象模型/傳世經典書叢 目錄
本立道生(侯捷 譯序) III
目錄 VII
前言(Stanley B. Lippman) XIII
第0章 導讀(譯者的話) XXV
第1章 關于對象(Object Lessons) 1
加上封裝后的布局成本(Layout Costs for Adding Encapsulation) 5
1.1 C++對象模式(The C++ Object Model) 6
簡單對象模型(A Simple Object Model) 7
表格驅動對象模型(A Table-driven Object Model) 8
C++對象模型(The C++ Object Model) 9
對象模型如何影響程序(How the Object Model Effects Programs) 13
1.2 關鍵詞所帶來的差異(A Keyword Distinction) 15
關鍵詞的困擾 16
策略性正確的struct(The Politically Correct Struct) 19
1.3 對象的差異(An Object Distinction) 22
指針的類型(The Type of a Pointer) 28
加上多態之后(Adding Polymorphism) 29
第2章 構造函數語意學(The Semantics of Constructors) 37
2.1 Default Constructor的構造操作 39
“帶有Default Constructor”的Member Class Object 41
“帶有Default Constructor”的Base Class 44
“帶有一個Virtual Function”的Class 44
“帶有一個Virtual Base Class”的Class 46
總結 47
2.2 Copy Constructor的構造操作 48
Default Memberwise Initialization 49
Bitwise Copy Semantics(位逐次拷貝) 51
不要Bitwise Copy Semantics! 53
重新設定Virtual Table的指針 54
處理Virtual Base Class Subobject 57
2.3 程序轉化語意學(Program Transformation Semantics) 60
顯式的初始化操作(Explicit Initialization) 61
參數的初始化(Argument Initialization) 62
返回值的初始化(Return Value Initialization) 63
在使用者層面做優化(Optimization at the User Level) 65
在編譯器層面做優化(Optimization at the Compiler Level) 66
Copy Constructor:要還是不要? 72
摘要 74
2.4 成員們的初始化隊伍(Member Initialization List) 74
第3章 Data語意學(The Semantics of Data) 83
3.1 Data Member的綁定(The Binding of a Data Member) 88
3.2 Data Member的布局(Data Member Layout) 92
3.3 Data Member的存取 94
Static Data Members 95
Nonstatic Data Members 97
3.4 “繼承”與Data Member 99
只要繼承不要多態(Inheritance without Polymorphism) 100
加上多態(Adding Polymorphism) 107
多重繼承(Multiple Inheritance) 112
虛擬繼承(Virtual Inheritance) 116
3.5 對象成員的效率(Object Member Efficiency) 124
3.6 指向Data Members的指針(Pointer to Data Members) 129
“指向Members的指針”的效率問題 134
第4章 Function語意學(The Semantics of Function) 139
4.1 Member的各種調用方式 140
Nonstatic Member Functions(非靜態成員函數) 141
Virtual Member Functions(虛擬成員函數) 147
Static Member Functions(靜態成員函數) 148
4.2 Virtual Member Functions(虛擬成員函數) 152
多重繼承下的Virtual Functions 159
虛擬繼承下的Virtual Functions 168
4.3 函數的效能 170
4.4 指向Member Function的指針(Pointer-to-Member Functions) 174
支持“指向Virtual Member Functions”的指針 176
在多重繼承之下,指向Member Functions的指針 178
“指向Member Functions之指針”的效率 180
4.5 Inline Functions 182
形式參數(Formal Arguments) 185
局部變量(Local Variables) 186
第5章 構造、析構、拷貝語意學(Semantics of Construction,
Destruction, and Copy) 191
純虛函數的存在(Presence of a Pure Virtual Function) 193
虛擬規格的存在(Presence of a Virtual Specification) 194
虛擬規格中const的存在 195
重新考慮class的聲明 195
5.1 “無繼承”情況下的對象構造 196
抽象數據類型(Abstract Data Type) 198
為繼承做準備 202
5.2 繼承體系下的對象構造 206
虛擬繼承(Virtual Inheritance) 210
vptr初始化語意學(The Semantics of the vptr Initialization) 213
5.3 對象復制語意學(Object Copy Semantics) 219
5.4 對象的效能(Object Efficiency) 225
5.5 析構語意學(Semantics of Destruction) 231
第6章 執行期語意學(Runtime Semantics) 237
6.1 對象的構造和析構(Object Construction and Destruction) 240
全局對象(Global Objects) 242
局部靜態對象(Local Static Objects) 247
對象數組(Array of Objects) 250
Default Constructors和數組 252
6.2 new和delete運算符 254
針對數組的new語意 257
Placement Operator new的語意 263
6.3 臨時性對象(Temporary Objects) 267
臨時性對象的迷思(神話、傳說) 275
第7章 站在對象模型的尖端(On the Cusp of the Object Model) 279
7.1 Template 280
Template的“實例化”行為(Template Instantiation) 281
Template的錯誤報告(Error Reporting within a Template) 285
Template中的名稱決議法(Name Resolution within a Template) 289
Member Function的實例化行為(Member Function Instantiation) 292
7.2 異常處理(Exception Handling) 297
Exception Handling快速檢閱 298
對Exception Handling的支持 303
7.3 執行期類型識別(Runtime Type Identification,RTTI) 308
Type-Safe Downcast(保證安全的向下轉換操作) 310
Type-Safe Dynamic Cast(保證安全的動態轉換) 311
References并不是Pointers 313
Typeid運算符 314
7.4 效率有了,彈性呢? 318
動態共享函數庫(Dynamic Shared Libraries) 318
共享內存(Shared Memory) 318
- >
推拿
- >
羅庸西南聯大授課錄
- >
我與地壇
- >
伊索寓言-世界文學名著典藏-全譯本
- >
【精裝繪本】畫給孩子的中國神話
- >
人文閱讀與收藏·良友文學叢書:一天的工作
- >
龍榆生:詞曲概論/大家小書
- >
煙與鏡