STL主要包含容器、算法和迭代器三大部分。
STL容器包含了大多数数据结构,如【数组】、【链表】、【队列】、【堆】、【栈】和【树】等。
STL算法包含了诸如增、删、改、查和排序等系统函数。
STL迭代器类似指针,通过有序移动把容器中的元素与算法关联起来,是实现STL功能的基础所在。
STL的命名空间空间是 std,必须包含 using namespace std;
功能 | 包含头文件 | 说明 |
迭代器 | #include<iterator> | 容器与算法的胶合剂 (泛型指针) |
输入输出流 | #include<iostream> #include<fstream> #include<sstream> | 标准的输入输出流 文件输入输出流 字符串输入输出流 |
字符串 | #include<string> | |
函数对象 | #include<functional> | |
通用容器 | #include<vector> #include<deque> #include<list> #include<query> #include<stack> #include<set> #include<map> | 向量容器 双端队列 链表容器 队列、优先队列 堆栈 集合、多集合、位集合 映射、多映射 |
通用算法 | #include<algorithm> | sort、search、copy、erase... |
数值算法 | #include<numeric> | |
仿函数 | ||
配接器 | ||
配置器 |
stl6大组件的交互关系: 容器 通过 空间配置器 取得数据存储空间,算法 通过 迭代器 取得 容器内容,仿函数协助算法完成不同的策略变化,各种配接器可以修饰函数