STL 常用库简介

小鱼儿 2021-06-24 15:58 677阅读 0赞

Standard Template Library (STL) :标准模板库。主要分为三类:算法(Algorithm)、容器(Container)和迭代器(Iterator)。在C++标准中,STL被组织为下面的13个头文件:

Algorithm有:

  1. <algorithm> 模板函数组成,涉及比较、交换、查找、遍历操作、复制、修改、移除、反转、排序、合并等等。
  2. <functional> 定义了一些模板类,用以声明函数对象。
  3. <numeric> 在序列上面进行简单数学运算的模板函数。

Container有:

  1. <set> 集合:一种包含已排序对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。
  2. <map> 映射:由{键,值}对组成的集合。map、multimap同set、multiset非常相似,他们里面的元素也都是“有序的”。也会根据规定的排序准则排序。不同的是map和multimap的元素都是键/值对的形式。
  3. <stack> 栈:后进先出的值的排列。
  4. <queue> 队列:先进先出的值的排列。
  5. <deque> 双向队列:连续存储的指向不同元素的指针所组成的数组。
  6. <vector> 向量:连续存储的元素。类似于数组,但另加一些方便的操作。
  7. <list> 列表:由节点组成的双向链表,每个结点包含着一个元素。

Iterator有:

  1. <iterator> 提供了迭代器使用的许多方法。
  2. <memory> 以不同寻常的方式为容器中的元素分配存储空间,同时也为某些算法执行期间产生的临时对象提供机制,主要部分是模板类allocator,它负责产生所有容器中的默认分配器。
  3. <utility> 包括了贯穿使用在STL中的几个模板的声明,常用的pair就包含在内。

文章来源

发表评论

表情:
评论列表 (有 0 条评论,677人围观)

还没有评论,来说两句吧...

相关阅读