STL的主要组成部分共六大组件,但核心功能是容器与算法这两大组件。
组件 | 简介 |
---|---|
容器container | 一些封装数据结构的模板类,主要分为序列容器与关联容器两大类型。 |
算法algorit***> | 提供近百个数据结构的算法,以模板函数的方式实现,包含在头文件 与 两个头文件中。 |
适配器apaptor | 适配器使得类的接口(模板的参数)适配成用户指定的形式,让原本不能在一起工作的两个类工作在一起。容器、迭代器和仿函数都应用到了适配器。 |
分配器allocator | 为容器类模板提供自定义的内存申请和释放功能,改变内存分配策略。 |
仿函数functor | 如果一个类将 () 重载为成员函数,就称为函数对象类,这个类对象就是仿函数。 |
迭代器iterator | 在 C++ STL 中,对容器中数据的读和写,是通过迭代器完成的,扮演着容器和算法之间的桥梁。遍历容器操作是非常常见的,所以迭代器是经常用到的基本工具。 |
按照 C++ 标准库的规定,标准头文件无扩展名以作为区分。
如:#include<vector> #include<map>
STL在C++标准库中的头文件
<vector> | <deque> | <stack> | <queue> | <list> |
---|---|---|---|---|
<set> | <map> | <iterator> | <numeric> | <memory> |
<utility> | <functional> | <algorithm> |