STL开篇

STL(Standard Template Library),即标准模板库,它是惠普实验室开发的一系列软件的统称。从软件复用的角度来看,STL的出现是里程碑式的,它成功的根据范性思维假设起了一个概念结构,并在此基础上提供了一系列容器、算法的接口。

STL主要包括以下几个组件:
1. 容器。包括:vector、list、deque、map、multimap、set、multiset、queue、stack、priority_queue
2. 算法。主要包括:sort、find、max、min……
3. 迭代器。STL的迭代器是作为容器和算法的中介存在的,包括5种:输入、输出、正向、双向、随机访问
4. 仿函式(functors)。functors本质上是一个类,其通过重载operator(),所以行为与函数相似。
5. 配接器(adapters):㆒种用来修饰容器、仿函式和迭代器的东西
6. 配置器(allocators):负责空间配置与管理。

借用下STL源码剖析的一张图来说明STL 6个组件之间的关系:

STL开篇_第1张图片

我们常常使用的是容器、算法和迭代器,但是其它组件不可忽视。例如:我们的Container 透过Allocator 来取得数据储存空间。后面将更详细的介绍各个组件。

STL学习几本很不错的书:
         《STL源码剖析》
         《Effective STL》
         《C++标准程序库》

你可能感兴趣的:(c,算法,list,vector,library)