图书目录

第1章C++泛型技术基础——模板/1

1.1泛型与模板/1

1.1.1泛型的基本概念/1

1.1.2C++模板及其定义/3

1.1.3几点说明和小结/7

1.2关于模板参数/10

1.2.1模板参数的种类/10

1.2.2模板形参和实参的结合/14

1.3特化模板和模板具现规则/16

1.3.1特化(特例化)模板/16

1.3.2模板的具现/19

1.4右值引用与模板/22

1.4.1右值引用/22

1.4.2右值引用的应用1——转移

语义/25

1.4.3右值引用应用2——转移函数

move()/30

1.4.4右值引用应用3——参数完美转发

模板/31

第2章C++泛型机制的基石——数据类型表/39

2.1类模板的公有数据类型成员/39

2.1.1类的数据类型成员/39

2.1.2再谈typedef/41

2.2内嵌式数据类型表及数据类型衍生/42

2.3数据类型表/44

2.3.1数据类型表的概念/44

2.3.2数据类型表的应用/47

2.4特化数据类型表/51

2.5STL中的Traits表/54

第3章STL及其使用的其他C++技术/61

3.1初识STL/613.1.1STL是C++标准库中的模板

类库/61

3.1.2STL应用程序示例/61

3.2STL常用的C++技术/65

3.2.1运算符重载/66

3.2.2函数对象(仿函数)/72

3.2.3lambda表达式/74

3.3智能指针/80

3.3.1智能指针的基本原理/81

3.3.2C++11支持的智能指针/86

第4章模拟STL三大件/90

4.1容器/90

4.1.1向量vector的仿真MyVector/90

4.1.2列表list的仿真MyList/95

4.2迭代器/101

4.2.1使用裸指针作为迭代器/102

4.2.2迭代器是指针的类封装/105

4.2.3迭代器的代码隔离作用/112

4.2.4STL迭代器的种类/115

4.2.5迭代器的种类标记/116

4.2.6STL对迭代器的管理/122

4.3通用算法/125

第5章容器及其应用/134

5.1向量vector/134

5.2列表list/141

5.3双向队列deque/144

5.4STL关联式容器/148

5.5map容器/152

5.5.1map容器的定义/152

5.5.2map的数据插入/156

5.5.3map容器的其他常用成员

方法/160

5.5.4multimap容器/164

5.6set容器/165

5.7hash表基础及hash容器/167

5.7.1hash表基础/167

5.7.2hash容器/168

第6章通用算法/171

6.1通用算法的参数/171

6.1.1算法的迭代器参数/171

6.1.2辅助参数/179

6.1.3谓词参数/180

6.2算法时间复杂度/188

6.3常用通用算法/189

6.3.1查找和搜索算法/189

6.3.2变异算法/202

6.3.3排序算法/226

6.3.4算术算法与关系算法/241

6.3.5排列组合与集合算法/252

第7章适配器模式在STL基础部件上的应用/256

7.1适配器/256

7.2STL容器适配器/258

7.2.1stack适配器/259

7.2.2queue适配器/264

7.2.3priority_queue适配器/265

7.3迭代器适配器/275

7.3.1插入迭代器/275

7.3.2反向迭代器/280

7.3.3IO流迭代器/284

7.4函数对象适配器/291

7.4.1函数对象的适配/291

7.4.2函数对象配接器/294

第8章STL容器内存空间配置器/302

8.1内存空间配置器及其设计基础/302

8.1.1什么是内存空间配置器/302

8.1.2内存空间配置器设计基础/303

8.2STL空间配置器接口/307

8.2.1STL空间配置器接口及最简单

的空间配置器/307

8.2.2典型STL容器空间的配置/311

8.3内存池的概念及应用/321

8.3.1内存池的规划/321

8.3.2内存池的设计/323

附录A关于关键字explicit/338