《Effective C++》中文版 改善程序与设计的55个具体做法 高清电子书带书签.pdf
作者:[美国] Scott Meyers
出版社:电子工业出版社
出品方:博文视点
副标题:改善程序与设计的55个具体做法
原作名:Effective C++: 55 Specific Ways to Improve Your Programs and Designs
译者:侯捷
ISBN: 9787121029097
目录
英中简繁术语对照14
目录 27
导读 31
1. 自己习惯c++ 41
01.视c++为一个语言联邦 41
02. const,enum,inline 43
03.尽可能使用const 47
04.确定对象初始化 56
2 构造,析构,赋值 64
05.了解c++默默编写并调用那些函数 64
06.不自动生成的函数,就明确拒绝 67
07.多态基类声明virtual析构函数 70
08.别让异常逃离析构函数 74
09.不在构造析构过程中调用virtual函数 78
10.operator= 返回 reference to *this 82
11. operator= 处理‘自我赋值’ 83
12.复制对象勿忘其每一个成分 87
3 资源管理 91
13. 以对象管理资源 91
14 资源管理类中小心coping行为 96
15 对原始资源的访问 99
16.承兑使用new和delete是要采取相同形式 103
17.独立语句将newed对象植入智能指针 105
4 设计与声名 108
18.接口正确使用,不易被误用 108
19.设计class犹如设计type 114
20. 传引用替代传值 116
21.必须返回对象时,别返回引用 120
22.成员变量声明为private 124
23.宁以non-member,non-friend 替换member函数 128
24.所有参数皆需类型转换,采用non-member 函数 132
25. 考虑写出一个不抛异常的swap函数 136
5.实现 143
26:尽可能延后变量定义是的出现时间 143
27:尽量少做转型动作 146
28:避免返回handles指向对象内部成分 153
29:为“异常安全”而努力是值得的 157
30:透彻了解inlining的里里外外 164
31:文件间的编译依存关系降至最低 170
6 继承与面向对象设计 179
32:public继承 180
33:避免遮掩继承而来的名称 186
34:区分接口继承和实现继承 191
35:考虑virtual函数以外的其他选择 199
36:不重新定义继承而来的non-virtual函数 208
37:不重定义继承而来的缺省参数值 210
38:符合塑模出has-a 214
39:明智而审慎的使用private继承 217
40:多重继承 222
7 模板与泛型编程 229
41:隐式接口和编译器多台 229
42:typename双重意义 233
43:处理模板化基类内的名称 237
44:与参数无关的代码抽离templates 242
45:成员函数模板接受所有兼容类型 248
46:需要类型转换时请为模板定义非成员函数 252
47:traits classes表现类型信息 256
48:认识template元编程 263
8 定制new和delete 269
49:new-handler的行为 270
50:new合理替换时机 277
51:编写时需固守常规 282
52:new与delete成对出现 286
9 杂项讨论 292
53:不要轻忽编译器的警告 292
54:熟悉TR1在内的标准程序库 293
55:熟悉boost 299
A 本书之外 303
索引310