STL之概括几种容器 (九阴真经)

来源:互联网 发布:深圳卫视网络直播 编辑:程序博客网 时间:2024/05/18 00:58

    前言:欢迎转载,但请注明出处http://blog.csdn.net/jiadabin,因为原文可能会改动部分不足,最好从原文处阅读同时也欢迎大家来点评丶吐槽!让我们大家共同进步......  

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的这几个组件之间的关系,如下:

 

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

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


0 0