STL组成

  • 容器 :存放数据 类似于class template
  • 迭代器 :迭代器是一种将operator *,operator-> , operator ++,operator –等指针相关操作重载的class template。每个STL容器都附带有自己专属的迭代器(意味着如果容器中的元素为自己声明的类型时需要自己设计一个迭代器),只有容器的设计者才知道如何遍历自己的元素
  • 算法:类似于function template
  • 仿函数 :行为类似函数,可作为算法的某种策略。从实现角度来看,仿函数是一种重载了operator()的class或者class template
  • 适配器(配接器):一种用来修饰容器或者仿函数或迭代器接口的东西
  • 空间配置器:负责空间的配置与管理。从实现的角度看,配置器是一个实现了动态空间配置、空间管理、空间释放的class template

关系

容器通过空间配置器取得数据存储空间,算法通过迭代器存储容器中的内容,仿函数可以协助算法完成不同的策略的变化,适配器可以修饰仿函数。

几个容器区别和使用场景

容器.bmp

容器使用場景.bmp