00 STL入门
STL入门
标准模板库 STL(Standard Template Library),是 C++ 标准库的一部分,不需要单独安装,只需要#include 头文件。
C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。
1. 容器
STL对数据结构进行了封装,调用者无需关心底层具体的数据结构实现,只需调用统一的接口以使用。它使用模板来实现,能用来保存具体的数据,因此被成为容器。
2. 迭代器
因为容器的接口都是类似的,因此对于容器内部的访问也拥有一个统一的概念,被称为迭代器。
每个容器有自己的迭代器,它们的类型不一致,但是接口一致。它可以看作一个指向容器中数据结构里某个具体位置的指针,对其解引用就能获取到具体的值。
3. 算法
STL对一套常用的算法使用了模板进行封装,同时为了给不同的容器都能使用上,必须用迭代器来操作,因为迭代器对这些算法做了统一的适配。
发布于