简介
本书重点论述了C++面向对象程序设计的底层机制,包括结构式语意,暂时性对象的生成、封装、继承和虚拟——虚拟函数和虚拟继承。书中向你表明:理解底层实现模型,可以极大地提高你的编码效率。Lippman澄清了那些关于C++系统开销与复杂性的各种错误信息和猜测,指出了其中某些成本和利益交换确实存在。他在书中详述了各种实现模型,指出了它们的发展方向以及促使其发展的根本原因。本书涵盖了C++对象模型的语意暗示,并指出了这个模型是如何对程序造成影响的。本书中文版已由华中科技大学出版社出版,至今印刷了20000余册。由于名词术语等诸多原因,很多已购和未购该书中文版的读者希望能够买到配套的原文图书。我社应广大读者的要求,引进了该书的英文版。该书的作者李普曼先后在Addison Wesley出版了两本极为成功的图书《C++ Primer》和《Essential C++》,在国内及国际计算机行业具有极高的知名度,他对技术的了解保证了该书的质量。相信本书的出版又将在国内掀起一个C++浪潮。
目录
object lessons 1
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/ vlrtual inheritance 95
3.5 object member efficiency 101
3.6 pointer to data members 106
efficiency of pointers to members 109
4 the semantics of function u3
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 under
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 mi 147/ pointer-to-member efficiency 149
4.5 inline functions 151
formal arguments 154/ local variables 155
5 semantics of construction, destruction, and copy 159
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 initialization 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
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/ vlrtual inheritance 95
3.5 object member efficiency 101
3.6 pointer to data members 106
efficiency of pointers to members 109
4 the semantics of function u3
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 under
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 mi 147/ pointer-to-member efficiency 149
4.5 inline functions 151
formal arguments 154/ local variables 155
5 semantics of construction, destruction, and copy 159
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 initialization 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
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×