STL 标准模板库 包括容器,算法,迭代器
容器用来存储数据,比如vector,list,堆栈等,string也算;一共有八个
算法就是对容器进行操作,比如增删改查数据
迭代器用来遍历容器itreator 用指针的方式来遍历容器的数据
注:平时使用的时候大部分时候我们都用上了,但是面试的时候不能单说容器,一来不够具体,而来显得外行;
注:不同的容器的操作方式不同,需要内存管理高的代码,使用容器时需要考虑该容器的操作方式,和适用场景(优缺点)。
基本原则如下:
1、如果需要高效的随机存取,不在乎插入和删除的效率,使用vector;
2、如果需要大量的插入和删除元素,不关心随机存取的效率,使用list;
3、如果需要随机存取,并且关心两端数据的插入和删除效率,使用deque;
4、如果打算存储数据字典,并且要求方便地根据key找到value,一对一的情况使用map,一对多的情况使用multimap;
5、如果打算查找一个元素是否存在于某集合中,唯一存在的情况使用set,不唯一存在的情况使用multiset