作者简介
作者:(美)Lippman
目录
本立道生(侯捷译序)
目录
前言
第0章导读(译者的话)
第1章关于对象
加上封装后的布局成本
1.1 C++对象模式
简单对象模型
表格驱动对象模型
C++对象模型
对象模型如何影响程序
1.2关键词所带来的差异
关键词的困扰
策略性正确的struct
1.3对象的差异
指针的类型
加上多态之后
第2章构造函数语意学
2.1 Default Constructor的构造操作
“带有Default Constructor”的Member Class Object
“带有Default Constructor”的Base Class
“带有一个Virtual Function”的Class
“带有一个Virtual BaseClass”的Class
总结
2.2Copy Constructor的构造操作
Default Memberwise Initialization
Bitwise Copy Semantics(位逐次拷贝)
不要Bitwise CopySemantics!
重新设定Virtual Table的指针
处理Virtual Base Class Subobject
2.3程序转化语意学
显式的初始化操作
参数的初始化
返回值的初始化
在使用者层面做优化
在编译器层面做优化
Copy Constructor:要还是不要?
摘要
2.4成员们的初始化队伍
第3章Data语意学
3.1Data Member的绑定
3.2Data Member的布局
3.3Data Member的存取
Static Data Members
Nonstatic DataMembers97
3.4“继承”与DataMember99
只要继承不要多态
加上多态
多重继承
虚拟继承
3.5对象成员的效率
3.6指向DataMembers的指针
“指向Members的指针”的效率问题134
第4章Function语意学
4.1Member的各种调用方式140
Nonstatic Member Functions(非静态成员函数)141
Virtual Member Functions(虚拟成员函数)147
Static Member Functions(静态成员函数)148
4.2Virtual Member Functions(虚拟成员函数)152
多重继承下的Virtual Functions159
虚拟继承下的Virtual Functions168
4.3函数的效能170
4.4指向MemberFunction的指针
支持“指向VirtualMemberFunctions”的指针
在多重继承之下,指向MemberFunctions的指针
“指向Member Functions之指针”的效率
4.5Inline Functions
形式参数
局部变量
第5章构造、析构、拷贝语意学
纯虚函数的存在
虚拟规格的存在
虚拟规格中const的存在195
重新考虑class的声明195
5.1“无继承”情况下的对象构造196
抽象数据类型
为继承做准备
5.2继承体系下的对象构造
虚拟继承
vptr初始化语意学
5.3对象复制语意学
5.4对象的效能
5.5析构语意学
第6章执行期语意学
6.1对象的构造和析构
全局对象
局部静态对象
对象数组
Default Constructors和数组
6.2new和delete运算符
针对数组的new语意
Placement Operatornew的语意
6.3临时性对象
临时性对象的迷思(神话、传说)
第7章站在对象模型的尖端
7.1Template
Template的“实例化”行为
Template的错误报告
Template中的名称决议法
Member Function的实例化行为
7.2异常处理
Exception Handling快速检阅
对Exception Handling的支持
7.3执行期类型识别
Type—Safe Downcast(保证安全的向下转换操作)
Type—Safe Dynamic Cast(保证安全的动态转换)
References并不是Pointers
Typeid运算符
7.4效率有了,弹性呢?
动态共享函数库
共享内存