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个组件之间的关系:

{`[E8~(9BL[AAVLU[5YT~Z0

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

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

转载于:https://my.oschina.net/zipu888/blog/549685

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值