STL(Standard Template Library,标准模板库)是C++标准库的一部分,是用C++ Template(模板)机制来表达泛型的库。
模板-》例如:函数模板-》目标用于扩展函数的使用场景。
泛型-》是指非特定类型(特定类型:int 、float 、指针、数组、结构体、类等等)-》一个瓶子如果只能用于装水,那么用途大大受限,理所当然应该能够装水、装油、装酒等等。
STL就是解决这样的 “瓶子” 问题——不依赖于数据结构,将算法与数据结构分离,得到极大的弹性。它包括六大组件:
其中前面三个是重点,值得注意的是,并非 ACMer 才会使用它,往往在解决实际问题中,STL能够发挥很大的作用。
包含命名空间: using namespace std;
包含指定的头文件:
| STL组件 | 相应头文件 |
| algorithm | #include |
| vector | #include |
| list | #include
|
| queue | #include |
| deque | #include |
| priority_queue | #include |
| stack | #include |
| set | #include |
| map | #include |
| multiset | #include |
| multimap | #include |