array数组连续内存随机访问固定大小
vector 连续内存 随机访问 动态大小,不够时候从新申请内存,然后拷贝,会多整一点,所以尾巴有多出来的空位,尾巴存放快
deque碎片内存随机访问动态大小,多个碎片内存组成,所以头尾存放,只需要整头尾的那两个内存,但是遍历效率有影响。
list 双链表双向遍历不能随机访问只遍历
forward_list单链表单向遍历
queue FIFO deque list
priority_queue二叉的最大堆vector deque
stack vector deque ist
map红黑树 key:value key不可重复,按key进行排序
multimap红黑树 key可重复,value也可
unordered_map 哈希表可插可删不可改未排序,迭代器慢
unorderedmulti_map哈希表key可重复
set红黑树 key=value不可重复出现,排序
multiset红黑树 key可重复
unordered_set 哈希表未排序,迭代器慢
unordered_multiset key可重复
tuple元素数量不限,类型不限pair元素数量2,类型不限
auto_ptr 独占 废弃
shared_ptr shared_count 访问权生命控制权
weak_ptr weak_count 访问权无控制权,解决循环依赖问题,lock访问
unique_ptr独占,可用move reset转移
用make_xxx,不用new
ptr在栈上,对象在堆里,出了栈帧自动销毁。