1.STL就是标准模板库;
2.从广义上分:算法(algorithm),容器(container),迭代器(iterator),容器和算法之间是通过迭代器无缝连接的;
3.STL代码几乎都采用了模板类或者模板函数;
STL六大组件简介:
1.容器:各种数据结构,用来存放数据,STL容器是一种class template
2.算法:各种常用的算法
3.迭代器:扮演了容器和算法之间的胶合剂,共有五种类型,从实现角度来看,迭代器是一种将operator*,operator->,operator++,operator--等指针相关操作予以的重载的class template.所有的STL容器都附带自己专属的迭代器,只有容器的设计者才知道如何遍历自己的元素。原生指针也是一种迭代器。
4.仿函数:行为类似函数,可作为算法的某种策略。从实现角度来看,仿函数是一种重载了operator()的class或者class template
5.空间配置器:负责空间的配置与管理;
6.适配器:一种用来修饰容器或者仿函数或者迭代器接口的东西。
STL六大组件的交互关系,容器通过空间配置器取得数据存储空间,算法通过迭代器存储容器中的内容,仿函数可以协助算法完成不同的策略的变化,适配器可以修饰仿函数。