STL
六大部件
容器:放东西,解决内存问题。各种数据结构, 如vector list deque set map
需要分配器支持。
分配器:支持容器。负责空间配置和管理,实现了动态空间配置,空间管理,空间释放的class template
算法:操作,函数。从实现的角度来看,是一种function template
。
迭代器:算法和容器的桥梁,泛化的指针。算法和容器之间的粘合剂。
适配器:用来转换的东西。类似变压器
仿函数:作用和函数类似。作为算法的某种策略。
- STL 六大组件的交互关系:容器(container)通过分配器(allocator)取得数据存储空间,算法(ALG)通过迭代器(iterator)存取容器内容,仿函数(Functor)可以协助算法完成不同的策略变化,适配器(adapter)可以修饰和套接仿函数。