注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)深度探索C++對(duì)象模型(影印版原版風(fēng)暴)

深度探索C++對(duì)象模型(影印版原版風(fēng)暴)

深度探索C++對(duì)象模型(影印版原版風(fēng)暴)

定 價(jià):¥42.00

作 者: (美國(guó))李普曼著
出版社: 中國(guó)電力出版社
叢編項(xiàng): 深入C++系列
標(biāo) 簽: C++

ISBN: 9787508314051 出版時(shí)間: 2003-08-01 包裝: 平裝
開(kāi)本: 頁(yè)數(shù): 280 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書重點(diǎn)論述了C++面向?qū)ο蟪绦蛟O(shè)計(jì)的底層機(jī)制,包括結(jié)構(gòu)式語(yǔ)意,暫時(shí)性對(duì)象的生成、封裝、繼承和虛擬——虛擬函數(shù)和虛擬繼承。書中向你表明:理解底層實(shí)現(xiàn)模型,可以極大地提高你的編碼效率。Lippman澄清了那些關(guān)于C++系統(tǒng)開(kāi)銷與復(fù)雜性的各種錯(cuò)誤信息和猜測(cè),指出了其中某些成本和利益交換確實(shí)存在。他在書中詳述了各種實(shí)現(xiàn)模型,指出了它們的發(fā)展方向以及促使其發(fā)展的根本原因。本書涵蓋了C++對(duì)象模型的語(yǔ)意暗示,并指出了這個(gè)模型是如何對(duì)程序造成影響的。 ·探索“面向?qū)ο蟪绦蛩С值腃++對(duì)象模型”中的程序行為。 ·對(duì)于“面向?qū)ο筇攸c(diǎn)的基礎(chǔ)實(shí)現(xiàn)技術(shù)”以及“有關(guān)這些特點(diǎn)的隱含利益交換”提供了一個(gè)清楚的認(rèn)識(shí)。 ·檢驗(yàn)由程序變形體帶來(lái)的效率沖擊。 ·提供豐富的程序范例、圖表,以及面向?qū)ο蟾拍詈偷讓訉?duì)象模型之間的效率測(cè)量。

作者簡(jiǎn)介

  StanleyB.Lippman暢銷圖書《C++Primer(3RD)中文版》的原版作者StanleyB.Lippman的職業(yè)是提供關(guān)于C++和面向?qū)ο蟮挠?xùn)練、咨詢、設(shè)計(jì)和指導(dǎo)。他在成為一名獨(dú)立咨詢顧問(wèn)之前,曾經(jīng)是迪士尼動(dòng)化公司的首席軟件設(shè)計(jì)師。當(dāng)他在AT&TBell實(shí)驗(yàn)室的時(shí)候,領(lǐng)導(dǎo)了cfront3.0版本和2.1版本的編譯器開(kāi)發(fā)組。他也是BjarneStroustrup領(lǐng)導(dǎo)的Bell實(shí)驗(yàn)室Foundation項(xiàng)目的成員之一,負(fù)責(zé)C++程序設(shè)計(jì)環(huán)境中的對(duì)象模型部分。他還撰寫了許多關(guān)于C++的文章。目前他已受雇于微軟公司,負(fù)責(zé)VisualC++項(xiàng)目。遍及全球,深受廣大C++學(xué)者的喜歡。>>更多作品

圖書目錄

contents
1 Object Lessons l
Layout Costs for Adding Encapsulation 5
1.1 The C++ Object Model 6
A simple object model 6/ A table-driven object model 7/ The C++ object model/ How the object model effects programs
1.2 A Keyword Distinction 12
Keywords schmeewords 13 / The politically correct struct 16
1.3 An Object Distinction 18
The type of a pointer 24/ Adding polymorphism 25
2 The Semantics of Constructors 31
2.1 Default Constructor Construction 32
Member class object with default constructor 34/ Base class with default constructor 37/ Class with a virtual function 37/ Class with a virtual base class 38 / Summary 39
2.2 Copy Constructor Construction 40
Default memberwise initialization 41 / Bitwise copy semantics 43 / Bitwise copy semantics—Not! 45 / Resetting the Virtual Table Pointer 45 / Handling the Virtual Base Class Subobject 47
2.3 Program Transformation Semantics 50
Explicit initialization 50/ Argument initialization 51 / Return value initialization 53 / Optimization at the user level 54/ Optimization at the compiler level 55 / The copy constructor: to have or to have not? 59 / Summary 61
2.4 Member Initialization List 62
3 The Semantics of Data 69
3.1 The Binding of a Data Member 72
3.2 Data Member Layout 75
3.3 Access of a Data Member 72
Static data members 78 / Nonstatic data members 80
3.4 Inheritance and the Data Member 82
Inheritance without polymorphism 83 / Adding polymorphism 87/ Multiple inheritance 91 / Virtual inheritance 95
3.5 Object Member Efficiency 101
3.6 Pointer to Data Members 106
Efficiency of pointers to members 109
The Semantics of Function 113
4.1 Varieties of Member Invocation 114 
 Nonstatic member functions 114/ Virtual member functions 120/ Static member functions 121 /
4.2 Virtual Member Functions 124
Virtual functions under MI 131 / Virtual functions underg virtual inheritance 138
4.3 Function Efficiency 139
4.4 Pointer-to-Member Functions 144
Supporting pointer-to-virtual member functions 145 / Pointer-to-member functions under Ml 147/ Pointer-to-member efficiency 149
4.5 Inline Functions 151
Formal arguments 154/ Local variables 155
Semantics of Construction, Destruction, and Copy 151
Presence of pure virtual destructor 160/ Presence of a virtual specification 161 / Presence of const within a virtual specification 162/ A reconsidered class declaration 162
5.1 Object Construction without Inheritance 163 Abstract data type 165/ Concrete base class 168
5.2 Object Construction under Inheritance 172
Virtual inheritance 176/ The semantics of the vptr initial
ization 179
5.3 Object Copy Semantics 184
5.4 Object Efficiency 190  
5.5 Semantics of Destruction 196
6 Runtime Semantics 201
6.1 Object Construction and Destruction 203
Global objects 205/ Local static objects 209/ Arrays of objects 211 / Default constructors and arrays 214
6.2 Operators new and delete 215 The semantics of new arrays 218
6.3 Temporary Objects 227 A temporary myth 235
7 On the Cusp of the Object Model 239
7.1 Templates 239
Template instantiation 241 / Error reporting within a template 244 / Member function instantiation 250
7.2 Exception Handling 254
A quick review of exception handling 256 / Exception handling support 260
7.3 Runtime Type Identification 264
Introducing a type safe downcast 266 / A type safe dynamic cast 267/ References are not pointers 269/ Typeid Operator 270
7.4 Efficient, but Inflexible 272
Dynamic Shared Libraries 272 / Shared Memory 272
Index 275

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)