顺序容器:
vector 支持快速随机访问
list 支持快速随机插入删除
deque 双端队列
容器适配器:通过原有的容器类型定义新的接口
stack:后进先出
queue:先进先出
priority_queue:有优先级管理的队列
顺序容器的定义:
(1)容器内元素的类型必须可赋值,必须可以复制。
(2)IO库类型不支持赋值或复制,所以不能作为容器元素类型
迭代器:
(3)vector和deque的迭代器才提供迭代器间比较大小(>,<,==,<=,>=)
(4)difference_type 足够两个迭代器差值的最大范围的有符号整数
(5)value_type 迭代器所指的元素类型
(6)push_front 只适用于list和deque
(7)insert() 一般插入都是插入到迭代器所指的元素的前面
迭代器可能失效:
(8)赋值和assign操作会使左操作数容器的所有迭代器失效
(9)swap操作则不会,c1.swap(c2):c1和c2的内容交换,虽然元素被交换了,但是迭代器还是指向相同的元素
(10)a.assign(b,e):将a中的值设为迭代器b,e所指范围的元素
(11)c.assign(n,t):将a中的值设为n个t元素