STL(Standard Template Library),即标准模板库,是一个高效的C++程序库。包含了诸多在计算机科学领域里常用的基本数据结构和基本算法。从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming)。从实现层次看,整个STL是以一种类型参数化(type parameterized)的方式实现的。
STL的六大组件如下:
- Container(容器)
- Adapter(适配器)
- Algorithm(算法)
- Iterator(迭代器)
- Function object(函数对象)
- Allocator(分配器)
六大组件的基本作用:
- Container(容器) 各种数据结构,如Vector,List,Deque,Set,Map,用来存放数据,STL容器是一种Class Template,就体积而言,这一部分很像冰山载海面的比率。
- Adapter(适配器) 一种用来修饰容器(Containers)或仿函数(Functors)或迭代器(Iterators)接口的东西,例如:STL提供的Queue和Stack,虽然看似容器,其实只能算是一种容器配接器,因为 它们的底部完全借助Deque,所有操作有底层的Deque供应。改变Functor接口者,称为Function Adapter;改变Container接口者,称为Container Adapter;改变Iterator接口者,称为Iterator Adapter。

本文介绍了C++标准模板库(STL)的六大组件:容器、适配器、算法、迭代器、函数对象和分配器。容器如Vector、List等用于存储数据;适配器如Queue、Stack提供特定接口;算法如Sort、Search等;迭代器作为容器和算法间的桥梁;函数对象提供行为策略;分配器负责内存管理。文章详细分析了每个组件的原理和使用方法。

1万+

被折叠的 条评论
为什么被折叠?



