C++ STL标准模板库在数据结构和算法的实践领域发挥着重要的作用。本书共分5篇26章,以“C++编程技术→C++ STL泛化技术基础→C++ STL容器技术→C++ STL算法技术→C++ STL迭代器技术”为线索具体展开,通过大量的源码分析和应用实例,详细介绍了C++ STL的技术原理和使用方法。 通过本书的学习,读者不仅可以轻松掌握C++ STL,还可以从它的一流源代码中受益匪浅。本书可用作高等院校计算机及相关专业的教学参考书。也适合各层次的C++开发人员和爱好者为锤炼自身的C++基本功阅读使用。
第一篇 预备知识 1
第1章 C++编程技术 2
1.1 类和对象 2
1.2 类的继承 5
1.3 函数重载 5
1.4 访问控制 7
1.5 操作符重载 8
1.6 显式类型转换 9
1.7 异常处理 13
1.8 名字空间 17
1.9 友员函数 20
1.10 内联函数 21
1.11 静态成员 22
1.12 本章小结 23
第2章 C++模板技术 25
2.1 函数模板 25
2.2 类模板 27
2.3 模板完全特化 28
2.4 函数模板重载 30
2.5 类模板继承 30
2.6 本章小结 31
第3章 C++ I/O流技术 32
3.1 I/O流类 32
3.2 标准输入输出 34
3.3 文件输入输出 36
3.4 流的格式控制 41
3.5 本章小结 45
第二篇 C++ STL泛化技术基础 47
第4章 C++ STL泛型库概述 48
4.1 C++ STL的发展历程 48
4.2 C++ STL的各种实现版本 49
4.2.1 HP STL 49
4.2.2 SGI STL 50
4.2.3 STLport 50
4.2.4 P.J.Plauger STL 50
4.2.5 Rouge Wave STL 50
4.3 C++ STL的Visual C++编译 50
4.4 C++ STL的体系结构 52
4.4.1 容器(Container) 52
4.4.2 迭代器(Iterator) 53
4.4.3 算法(Algorithm) 53
4.4.4 函数对象(Function Object) 54
4.4.5 适配器(Adapter) 55
4.4.6 内存分配器(Allocator) 56
4.4.7 概念(Concept)和模型(Model) 56
4.5 C++ STL存在的一些问题 57
4.6 本章小结 57
第5章 C++ STL泛化技术分析 58
5.1 算法和迭代器 58
5.1.1 算法 58
5.1.2 迭代器 61
5.1.3 函数对象 65
5.1.4 适配器 68
5.2 内存分配器和容器 74
5.2.1 内存分配器 75
5.2.2 容器 77
5.3 概念 82
5.3.1 基础性概念 82
5.3.2 容器概念 84
5.3.3 迭代器概念 86
5.3.4 函数对象概念 88
5.4 本章小结 89
第三篇 C++ STL容器技术 91
第6章 vector向量容器 92
6.1 vector技术原理 92
6.2 vector应用基础 94
6.3 本章小结 101
第7章 deque双端队列容器 102
7.1 deque技术原理 102
7.2 deque应用基础 108
7.3 本章小结 115
第8章 list双向链表容器 116
8.1 list技术原理 116
8.2 list应用基础 124
8.3 本章小结 131
第9章 slist单向链表容器 132
9.1 slist技术原理 132
9.2 slist应用基础 140
9.3 本章小结 148
第10章 bit_vector位向量容器 149
10.1 bit_vector技术原理 149
10.2 bit_vector应用基础 156
10.3 本章小结 161
第11章 set集合容器 162
11.1 set技术原理 162
11.2 set应用基础 181
11.3 本章小结 186
第12章 multiset多重集合容器 187
12.1 multiset技术原理 187
12.2 multiset应用基础 190
12.3 本章小结 196
第13章 map映照容器 197
13.1 map技术原理 197
13.2 map应用基础 200
13.3 本章小结 206
第14章 multimap多重映照容器 207
14.1 multimap技术原理 207
14.2 m
1