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