最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深度探索C++對(duì)象模型

2023-06-09 19:14 作者:今天天氣不錯(cuò)風(fēng)也溫柔  | 我要投稿

鏈接:https://pan.baidu.com/s/1I0vIaWGKUrsIGj5PeTwe2w?pwd=xrdn?

提取碼:xrdn

作者Lippman參與設(shè)計(jì)了全世界第一套C++編譯程序cfront,這本書(shū)就是一位偉大的C++編譯程序設(shè)計(jì)者向你闡述他如何處理各種explicit(明確出現(xiàn)于C++程序代碼中)和implicit(隱藏于程序代碼背后)的C++語(yǔ)意。
本書(shū)專(zhuān)注于C++面向?qū)ο蟪绦蛟O(shè)計(jì)的底層機(jī)制,包括結(jié)構(gòu)式語(yǔ)意、臨時(shí)性對(duì)象的生成、封裝、繼承,以及虛擬――虛擬函數(shù)和虛擬繼承。這本書(shū)讓你知道:一旦你能夠了解底層實(shí)現(xiàn)模型,你的程序代碼將獲得多么大的效率。Lippman澄清了那些關(guān)于C++額外負(fù)荷與復(fù)雜度的各種錯(cuò)誤信息和迷思,但也指出其中某些成本和利益交換確實(shí)存在。他闡述了各式各樣的實(shí)現(xiàn)模型,指出它們的進(jìn)化之道及其本質(zhì)因素。書(shū)中涵蓋了C++對(duì)象模型的語(yǔ)意暗示,并指出這個(gè)模型是如何影響你的程序的。
。

目錄

目  錄
本立道生(侯捷 譯序) III
目錄 VII
前言(Stanley B. Lippman) XIII
第0章 導(dǎo)讀(譯者的話) XXV
第1章 關(guān)于對(duì)象(Object Lessons) 1
加上封裝后的布局成本(Layout Costs for Adding Encapsulation) 5
1.1 C++對(duì)象模式(The C++ Object Model) 6
簡(jiǎn)單對(duì)象模型(A Simple Object Model) 7
表格驅(qū)動(dòng)對(duì)象模型(A Table-driven Object Model) 8
C++對(duì)象模型(The C++ Object Model) 9
對(duì)象模型如何影響程序(How the Object Model Effects Programs) 13
1.2 關(guān)鍵詞所帶來(lái)的差異(A Keyword Distinction) 15
關(guān)鍵詞的困擾 16
策略性正確的struct(The Politically Correct Struct) 19
1.3 對(duì)象的差異(An Object Distinction) 22
指針的類(lèi)型(The Type of a Pointer) 28
加上多態(tài)之后(Adding Polymorphism) 29
第2章 構(gòu)造函數(shù)語(yǔ)意學(xué)(The Semantics of Constructors) 37
2.1 Default Constructor的構(gòu)造操作 39
“帶有Default Constructor”的Member Class Object 41
“帶有Default Constructor”的Base Class 44
“帶有一個(gè)Virtual Function”的Class 44
“帶有一個(gè)Virtual Base Class”的Class 46
總結(jié) 47
2.2 Copy Constructor的構(gòu)造操作 48
Default Memberwise Initialization 49
Bitwise Copy Semantics(位逐次拷貝) 51
不要Bitwise Copy Semantics! 53
重新設(shè)定Virtual Table的指針 54
處理Virtual Base Class Subobject 57
2.3 程序轉(zhuǎn)化語(yǔ)意學(xué)(Program Transformation Semantics) 60
顯式的初始化操作(Explicit Initialization) 61
參數(shù)的初始化(Argument Initialization) 62
返回值的初始化(Return Value Initialization) 63
在使用者層面做優(yōu)化(Optimization at the User Level) 65
在編譯器層面做優(yōu)化(Optimization at the Compiler Level) 66
Copy Constructor:要還是不要? 72
摘要 74
2.4 成員們的初始化隊(duì)伍(Member Initialization List) 74
第3章 Data語(yǔ)意學(xué)(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
只要繼承不要多態(tài)(Inheritance without Polymorphism) 100
加上多態(tài)(Adding Polymorphism) 107
多重繼承(Multiple Inheritance) 112
虛擬繼承(Virtual Inheritance) 116
3.5 對(duì)象成員的效率(Object Member Efficiency) 124
3.6 指向Data Members的指針(Pointer to Data Members) 129
“指向Members的指針”的效率問(wèn)題 134
第4章 Function語(yǔ)意學(xué)(The Semantics of Function) 139
4.1 Member的各種調(diào)用方式 140
Nonstatic Member Functions(非靜態(tài)成員函數(shù)) 141
Virtual Member Functions(虛擬成員函數(shù)) 147
Static Member Functions(靜態(tài)成員函數(shù)) 148
4.2 Virtual Member Functions(虛擬成員函數(shù)) 152
多重繼承下的Virtual Functions 159
虛擬繼承下的Virtual Functions 168
4.3 函數(shù)的效能 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
形式參數(shù)(Formal Arguments) 185
局部變量(Local Variables) 186
第5章 構(gòu)造、析構(gòu)、拷貝語(yǔ)意學(xué)(Semantics of Construction,
Destruction, and Copy) 191
純虛函數(shù)的存在(Presence of a Pure Virtual Function) 193
虛擬規(guī)格的存在(Presence of a Virtual Specification) 194
虛擬規(guī)格中const的存在 195
重新考慮class的聲明 195
5.1 “無(wú)繼承”情況下的對(duì)象構(gòu)造 196
抽象數(shù)據(jù)類(lèi)型(Abstract Data Type) 198
為繼承做準(zhǔn)備 202
5.2 繼承體系下的對(duì)象構(gòu)造 206
虛擬繼承(Virtual Inheritance) 210
vptr初始化語(yǔ)意學(xué)(The Semantics of the vptr Initialization) 213
5.3 對(duì)象復(fù)制語(yǔ)意學(xué)(Object Copy Semantics) 219
5.4 對(duì)象的效能(Object Efficiency) 225
5.5 析構(gòu)語(yǔ)意學(xué)(Semantics of Destruction) 231
第6章 執(zhí)行期語(yǔ)意學(xué)(Runtime Semantics) 237
6.1 對(duì)象的構(gòu)造和析構(gòu)(Object Construction and Destruction) 240
全局對(duì)象(Global Objects) 242
局部靜態(tài)對(duì)象(Local Static Objects) 247
對(duì)象數(shù)組(Array of Objects) 250
Default Constructors和數(shù)組 252
6.2 new和delete運(yùn)算符 254
針對(duì)數(shù)組的new語(yǔ)意 257
Placement Operator new的語(yǔ)意 263
6.3 臨時(shí)性對(duì)象(Temporary Objects) 267
臨時(shí)性對(duì)象的迷思(神話、傳說(shuō)) 275
第7章 站在對(duì)象模型的尖端(On the Cusp of the Object Model) 279
7.1 Template 280
Template的“實(shí)例化”行為(Template Instantiation) 281
Template的錯(cuò)誤報(bào)告(Error Reporting within a Template) 285
Template中的名稱(chēng)決議法(Name Resolution within a Template) 289
Member Function的實(shí)例化行為(Member Function Instantiation) 292
7.2 異常處理(Exception Handling) 297
Exception Handling快速檢閱 298
對(duì)Exception Handling的支持 303
7.3 執(zhí)行期類(lèi)型識(shí)別(Runtime Type Identification,RTTI) 308
Type-Safe Downcast(保證安全的向下轉(zhuǎn)換操作) 310
Type-Safe Dynamic Cast(保證安全的動(dòng)態(tài)轉(zhuǎn)換) 311
References并不是Pointers 313
Typeid運(yùn)算符 314
7.4 效率有了,彈性呢? 318
動(dòng)態(tài)共享函數(shù)庫(kù)(Dynamic Shared Libraries) 318
共享內(nèi)存(Shared Memory) 318

查看全部↓


深度探索C++對(duì)象模型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
柘荣县| 双江| 三门县| 南岸区| 霍州市| 乐平市| 乳山市| 苍山县| 思茅市| 嵊州市| 水城县| 壶关县| 西吉县| 闽清县| 古浪县| 东城区| 平顺县| 寿阳县| 奉节县| 广西| 多伦县| 湖南省| 滨州市| 肇东市| 济阳县| 夹江县| 喀喇| 榆树市| 沈丘县| 高唐县| 金阳县| 麻栗坡县| 富平县| 安平县| 宿松县| 东台市| 五河县| 灵璧县| 昌图县| 化德县| 杭州市|