STL库简述

STL简述

STL库包含六个大类:

  • 容器库
  • 算法库
  • 迭代器库
  • 配置器(allocator)
  • 适配器(adaptor)
  • 仿函数(函数对象)

其中后四个类主要为前两个类服务。
其中使用频率最高的就是容器库,迭代器库,算法库。容器库为我们提供了存储数据的数据结构,算法库则是我们操作数据结构的算法,迭代器库作为容器库和算法库的黏合剂。


容器库

容器库整体分为 序列型容器 , 关联型容器 , 容器适配器。

1.序列型容器

主要包括 list,vector,deque, array。
以vector作为学习实例:
STL 容器(一) vector

适配器容器 stack,queue,priority_queue 也属于序列型容器,叫它们适配器容器的原因是这些容器的底层是采用vector,deque等现有容器的功能,如stack和queue的底层是采用deque,而priority_queue则是采用vector。
学习实例:
STL 适配器adapter


2.关联型容器

主要包括 map,unordered_map,set,unordered_set 这些key-value存储结构的容器或者以集合形式存在的容器。
学习实例:
STL 容器(二) set,unordered_set
STL 容器(三) map和unordered_map




算法库

算法库整体包括 algorithm库。
algorithm则包括了我们常用的算法;
学习实例:
STL 算法库algorithm



迭代器库

迭代器库整体包括 iterator 库。
迭代器库作为算法库与容器库之间的黏合剂,起到了非常重要的作用。
学习实例:
STL 迭代器(一) 迭代器操作详解
STL 迭代器(二) 迭代器失效情况分析



适配器(adaptor)

适配器分为 容器适配器 和 函数适配器,功能在于将两个不相同的模块结合到一起。
学习实例:
STL 适配器adapter



配置器(allocator)

配置器的功能在于定义类中内存的分配,正常情况下程序员是不会自定义内存的分类的。
学习实例:
STL 配置器allocator 实现vector类



仿函数(函数对象)

实质上也就是将一个类的使用近似看成函数的使用,也就是在类内部使用 operator()
学习实例:
STL 仿函数(一) bind函数回调
STL仿函数(二) bind1st,bind2nd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值