STL源码剖析系列——第一章、STL概论

一、STL概论

  • 这一章其实提到了挺多东西,如STL的又由来、STL文件的分布、STL config、STLconfig语法解惑等,但这些我都不大感兴趣,我只记下了我感兴趣的一个点:
  • STL六大组件
    1. 容器(container):如map、vector、list等数据结构,用来存放数据,因此称为容器。从实现来看,他们是class template。
    2. 迭代器(iterators):迭代器实际上是一种泛型指针,是容器和算法之间的桥梁。
    3. 算法(algorithm):如sort、search等,从实现上来说是一种function template。
    4. 仿函数(functors):行为类似函数,是一种重载了()运算符的class template,可作为算法的某种策略。
    5. 配接器(adapters):用来修饰stl接口的东西。
    6. 配置器(allocators):负责空间配置和管理的东西。
  • 上个图说明他们之间的关系:
    1. 空间配置器给容器分配和管理空间
    2. 算法通过迭代器读取容器中的数据并进行相关处理
    3. 仿函数可以作为某种策略帮助算法完成任务

STL源码剖析系列——第一章、STL概论