1. overview
容器:一些特定类型对象的集合
每个容器都支持相等运算
顺序容器:根据加入时的位置
关联容器:根据关键字来存储和访问容器
顺序容器类型 | 描述 | 存储 | 特性 |
vector | 可变大小的数组 | 连续空间 | 中间位置删除或添加元素非常耗时 |
deque | 双端队列 | ||
list | 双向链表 | 任何位置添加和删除都很快 | |
forward_list | 单向链表 | ||
array | 固定大小数组 更安全更容易使用 | ||
string | 专门用于保存字符 | 连续空间 | 中间位置删除或添加元素非常耗时 |
2. 初始化器
- 左闭右开区间:[begin, end)
- 不需要写访问时,要使用cbegin和cend
3. 迭代器
4. array
- 固定大小数组导致的特性:
- 所以除了指定类型外,还必须指定大小:array<int, 9>
- 默认构造的array是非空的,包含了与其大小一样多的元素,且都被默认初始化了
- 所以如果元素时类类型,那就必须有默认构造函数,用来对值进行默认初始化
- 与内置数组的区别
-
内置数组 array数组 相同点 不同点 不支持copy赋值 支持copy赋值