STL 六大组件

  1. 容器: 各种数据结构, 如 vector, list, deque, set, map, 用来存放数据
  2. 算法: 各种常用算法, 如 sort, search, copy, erase等,从实现的角度来看是一种function template
  3. 迭代器: 容器和算法之间的胶合剂, 是由容器设计者实现的接口,用来遍历自己容器内部的元素,从而使得不同的容器对外表现相似。
  4. 函数对象: 算法的某种策略。
  5. 适配器: 用来修饰容器的一种东西,比如stack , queue 虽然看似容器,但所有操作都是由底层的deque 来供应的,通过适配器来改变对外表现。
  6. 空间配置器:负责分配内存空间与管理,尽量避免内存碎片。