STL六大组件

1,容器

1,vector

              底层实现使用线性表,,

2,list

               底层就是链表

3,deque

               底层是双向的线性表,也就是双向接口,意思在头和尾都可以进行插入和删除操作。

4,map

              底层是红黑树

5,set 

               底层是红黑树

2,算法

各种常用的算法,如sort,search,copy

3,迭代器 

容器和算法之间的粘合剂,是所谓的泛型指针。

具体实现时,就是一个模板类,将operator ->  operator * operator -- operator ++,等原生指针可以执行的操作符

进行重载,所有的STL容器都有自己的 专属迭代器,只有容器本身知道怎样遍历自己的元素。原生指针也是迭代器。

4,适配器

一种用来修饰 STL容器,迭代器和仿函数接口的工具,如,stack queue都不是实际的容器,只是经过适配器修饰的

deque。

 

5,配置器

负责空间的管理和配置,实现的角度来说,是定义一个动态空间配置 ,空间管理,空间释放的模板类。

 

6,仿函数

仿函数就是行为类似于函数,可作为某种算法策略。从实现的角度看,仿函数是重载了operator()的模板类。

一般的函数指针也是狭义的仿函数。

 

总结:容器通过配置器获得空间,算法通过迭代器操作容器元素,仿函数辅助算法完成不同的策略优化,

           

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值