C++标准模板库(STL)的概念

STL(Standard Template Library)标准模板库是 C++ 标准库中的一部分,标准模板库为 C++ 提供了完善的数据结构及算法。

STL 标准模板库包括三部分:容器、算法和迭代器。容器是对象的集合,STL 的容器有:vector、stack、queue、deque、list、set 和 map 等。STL 算法是对容器进行处理,比如排序、合并等操作。迭代器则是访问容器的一种机制。

在 C++ 定义数组时,我们必须提前知晓数组的大小,然后为了避免因为新数据的加入而导致越界,因而需要不断地进行越界检测,这样一来效率就大大降低了。而使用 STL 有一个非常大的优点就是不需要提前知道数组的大小,当有新元素加入时,容器会自动增大,删除元素时,容器会自动减小。

除此之外,STL 还提供了大量的算法用于操作容器。STL 具有可扩展性,也就是说可以增加新的容器和算法。

STL 基本容器可以分为:

  • 序列式容器,主要有 list、vector、deque;
  • 关联式容器,主要有 set、multiset、map、multimap;
    序列式容器可以像数组一样通过下标进行访问。关联式容器则是需要通过键值进行访问,关联式容器可以将任何类型的数据作为键值。
容器类型描述
vector序列式容器按照需要改变长度的数组
list序列式容器双向链表
deque序列式容器可以操作两端的数组
set关联式容器集合
multiset关联式容器允许重复的集合
map关联式容器图表
multimap关联式容器允许重复的图表
posted @ 2022-08-19 22:47  luoganttcc  阅读(30)  评论(0)    收藏  举报