STL六大组件
STL主要提供6大组件:
1、容器(container):各种数据结构,如map、vector、list、deque、set等,用来存放数据;
2、算法(algorithm):各种常用算法,如sort、search、copy等;
3、迭代器(iterators):通过迭代器连接容器和算法,组合使用;是所谓的泛型指针;
4、仿函数(functors):类似函数,可以作为算法的某种策略;
5、配接器(adapters):修饰容器、迭代器或者仿函数;
6、配置器(allocator):负责动态空间分配、管理和释放;
STL六大组件的交互关系
STL六大组件的交互关系可如下图所示:
容器通过allocator配置器取得数据存储空间,算法通过迭代器读写容器内容,仿函数functor可以协助算法完成不同的策略变化,配接器adapter可以修饰或套接Functor。