00 STL入门

STL入门

标准模板库 STL(Standard Template Library),是 C++ 标准库的一部分,不需要单独安装,只需要#include 头文件。

​ C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离

1. 容器

​ STL对数据结构进行了封装,调用者无需关心底层具体的数据结构实现,只需调用统一的接口以使用。它使用模板来实现,能用来保存具体的数据,因此被成为容器。

2. 迭代器

​ 因为容器的接口都是类似的,因此对于容器内部的访问也拥有一个统一的概念,被称为迭代器。

​ 每个容器有自己的迭代器,它们的类型不一致,但是接口一致。它可以看作一个指向容器中数据结构里某个具体位置的指针,对其解引用就能获取到具体的值。

3. 算法

​ STL对一套常用的算法使用了模板进行封装,同时为了给不同的容器都能使用上,必须用迭代器来操作,因为迭代器对这些算法做了统一的适配。