目录 1
序 1
前言 1
第1章 泛型程序设计与C++标准库 1
第1条:迭代器(难度:7) 1
第2条:不区分大小写的字符串——之一(难度:7) 4
第3条:不区分大小写的字符串——之二(难度:5) 8
第4条:最大可重用的泛型容器——之一(难度:8) 11
第5条:最大可重用的泛型容器——之二(难度:6) 12
第6条:临时对象(难度:5) 19
第7条:使用标准库(或称再谈临时对象)(难度:5) 24
第2章异常安全性问题与技术 27
第8条:编写异常安全的代码——之一(难度:7) 28
第9条:编写异常安全的代码——之二(难度:8) 32
第10条:编写异常安全的代码——之三(难度:9 1/2) 35
第11条:编写异常安全的代码——之四(难度:8) 41
第12条:编写异常安全的代码——之五(难度:7) 43
第13条:编写异常安全的代码——之六(难度:9) 49
第14条:编写异常安全的代码——之七(难度:5) 54
第15条:编写异常安全的代码——之八(难度:9) 56
第16条:编写异常安全的代码——之九(难度:8) 59
第17条:编写异常安全的代码——之十(难度:9 1/2) 63
第18条:代码复杂性——之一(难度:9) 65
第19条:代码复杂性——之二(难度:7) 68
第3章类的设计与继承 73
第20条:类机制(难度:7) 73
第21条:重载虚函数(难度:6) 80
第22条:类的关系——之一(难度:5) 85
第23条:类的关系——之二(难度:6) 88
第24条:继承的使用和滥用(难度:6) 94
第25条:面向对象程序设计(难度:4) 103
第4章编译器防火墙和Pimpl习惯用法 105
第26条:将编译期依存性减至最小——之一(难度:4) 105
第27条:将编译期依存性减至最小——之二(难度:6) 109
第28条:将编译期依存性减至最小——之三(难度:7) 113
第29条:编译防火墙(难度:6) 116
第30条:“Fast Pimpl”习惯用法(难度:6) 119
第5章名字查找、名字空间和接口规则 127
第31条:名字查找和接口规则——之一(难度:9 1/2) 127
第32条:名字查找和接口规则——之二(难度:9 1/2) 130
第33条:名字查找和接口规则——之三(难度:5) 139
第34条:名字查找和接口规则——之四(难度:9) 143
第6章 内存管理 151
第35条:内存管理——之一(难度:3) 151
第36条:内存管理——之二(难度:6) 154
第37条:auto_ptr(难度:8) 161
第7章缺陷、陷阱和错误习惯用法 171
第38条:对象标识(难度:5) 171
第39条:自动转换(难度:4) 174
第40条:对象生存期——之一(难度:5) 176
第41条:对象生存期——之二(难度:6) 178
第8章其他主题 187
第42条:变量初始化(难度:3) 187
第43条:正确使用const(难度:3) 189
第44条:类型转换(难度:6) 196
第45条:bool(难度:7) 201
第46条:转移调用函数(难度:3) 204
第47条:控制流(难度:6) 206
后记 213
参考文献 215
索引 217