STL六大组件

一、容器(containers)

各种数据结构,用来存放数据;

从实现的角度看,STL是一种class template;

从体积而言,这一部分很像冰山在海面上的比率

1、顺序容器                        底层

         vector   矢量容器            数组                             #include<vector>

        list          双向链表          双向循环链表(环状) #include<list>

        deque    双端队列容器   双端队列                       #include<deque>

2、关联容器

         set             单重集合          红黑树            #include<set>

        multiset      多重集合

        map           单重映射          红黑树             #include<map>

       multimap    多重映射

3、容器适配器

         stack                  栈         #include<stack>

         queue                队列      #include<queue>

         priority_queue

二、泛型算法(algorithms)

#include<algorithm>

各种常用算法如:sort、search、copy、erase

从实现的角度看:STL算法是一种function template

三、迭代器(iterators)

#include<iterator>

扮演容器和算法之间的胶合剂,是所谓的“泛型指针”

从实现的角度看,迭代器是一种oprator*,operator->,operator++,operator—等指针相关操作予以重载的class template。

所有STL容器都附有自己专属的迭代器

正向迭代器、双向迭代器(list)、

函数对象 仿函数(functors)

#include<functional>

行为类似函数,可作为算法的某种策略

从实现的角度看,仿函数是一种重载了operator()的class或class template.一般函数指针可视为狭义的仿函数

五、接配器(adapters)

一种用来修饰容器和仿函数或迭代器接口的东西

六、空间配置器(allocator)

负责空间配置与管理

从实现的角度看,配置器是一个实现了动态空间配置、空间管理、空间释放的class template

STL六大组件之间的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值