首页 > 编程笔记 > C++笔记 阅读:12

C++ STL容器有哪些(新手必看)

容器就是存放数据的类模板。STL 中的容器分为两类,即序列式容器和关联式容器。

STL序列式容器

序列式容器采用线性结构存储数据,其中可存储基本数据类型(如 int、double、float、string 等)或结构体类型的元素。

序列式容器不会自动对存储的元素按值进行排序,也就是说其元素大小是无序的。将元素插入序列式容器中时,指定什么位置,元素就会位于什么位置。

常见的序列式容器如下:

STL关联式容器

关联式容器在存储元素值时,会为元素额外配备一个键,根据键(key)可快速锁定目标元素。也就是说,关联式容器存储的是表示某种对应关系的键值对(<key,value>),这是和序列式容器最大的不同。

除此之外,关联式容器存储元素时,会自动根据元素的键的大小升序排序。

常见的关联式容器采用树形结构,包括如下 4 类:
C++ 11 标准库又加入了 4 种无序关联式容器,即哈希容器。其中的元素是未排序的,元素位置由哈希函数确定。哈希容器包括如下 4 类:

STL容器适配器

容器适配器主要针对序列式容器,它通过定义新的接口,将不适用的容器变为适用的容器。这有点类似于生活中的电源适配器,将不兼容(如不同电压标准)的电源转换为适合的电源。

常见的容器适配器如下:

相关文章