STL 概论
什么是 STL
STL 诞生于 C++ 社群里,它建立了 数据结构和算法 的一套标准,降低了器件的耦合关系,提升了各自的独立性、弹性和交互操作性,为软件工程中 复用性 的提升奠基。
STL以抽象概念(abstract concepts)而非实体类(classes)为主体,形成了一套严谨的 接口标准。在此接口下,任何组件都有最大的独立性,并以迭代器(iterator)胶合起来,以配接器(adapter)互相配接,以仿函数(functor)动态选择某种策略(policy 或 strategy)。
在实际应用中,STL 可以理解为一系列头文件,包括常用的 <vector>
和 <map>
等,这些头文件提供了很多标准数据结构的模板类供我们使用,就不用从头开始造轮子了。
STL 六大组件
- 容器(containers):各种数据结构,如
vector
,list
,deque
,set
,