STL初探

STL(Standard Template Library, 标准模板库), 是由惠普实验室开发的一系列软件的统称。
1994年夏季经过C++标准委员会的投票,决定将STL正式纳入C++标准化进程中。
目前,STL是一个具有工业强度的、高效的C++程序库。


总的来说,STL的构成可以概括为“3大主体,6大组件,13个头文件”。
所谓“13个头文件“是指在C++标准中STL被组织在13个头文件中:<algorithm>、<deque>、<functional>、<iterator>、<vector>、
<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>、<utility>。


这13个头文件所包含的全部代码,从广义上讲分为3类:algorithm(算法)、container(容器)、iterator(迭代器),且几乎所有
的代码都采用了模板类和模板函数的方式,显然这有利于代码的重用。这3类也就是STL的3大主体。


事实上如果细致考虑STL的组成它应该包括6个组件,即除了前面比较重要的3大主体以外,还包括:仿函数,适配器和空间配置器


1、容器
STL容器对最常用的数据结构提供了支持,STL容器部分主要由头文件<vector>、<list>、<deque>、<set>、
<map>、<stack>、<queue>组成,提供的容器主要有以下几种:
向量(vector)。
链表(list)。
栈(stack)。
队列(queue)。
优先队列(priority_queue)。
双向队列(deque)。
集合(set)。
多重集合(multiset)。
映射(map)。
多重映射(multimap)。
2、算法
STL中大约包含了70个通用算法,STL中的算法主要由头文件<algorithm>、<numeric>、<functional>组成
所有算法的前两个参数都是一对iterator:(first, last),
用来指定容器内一个范围内的元素。
每个算法的声明中都表现出它所需要的最低层次的iterator类型。
大部分算法都可以用仿函数(function object,又称functor)来更改准则。
3、迭代器
才STL中迭代器被用来将算法和容器联系起来,起着某种粘合作用。迭代器主要由头文件<utility>、<iterator>、
<memory>组成


另外,STL拥有众多版本,SGI STL是HP STL的一个继承版本,开源,被GCC所采用,
可以在GCC的include子目录下找到所有头文件,关于SGI STL更详细的介绍可在
网站:WWW.SGI.com上得到。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值