顺序容器概括
c++标准库共有以下容器:
- vector 可变大小数组 最为常用
- deque 双端队列
- list 双向链表
- forward_list 单向链表
- array 固定大小的数组 代替c数组
- string 字符容器 可以理解为专为字符串准备的容器
以上容器当中,vector和string是最为常用的容器,在c++中stirng已经替代了传统的c方式的字符串。
选择容器的准则
- 除非你有很好的理由选择其他容器,否则应使用vector
- 如果程序有很多小的元素,且空间的额外开销非常重要,则不要使用list或forward_list
- 如果程序对随机访问元素要求比较高,应使用vector或deque
- 如果程序需要在容器的中间位置插入或删除元素,应使用list或forward_list
- 如果程序需要在头尾位置插入或删除元素,但不会在中间位置插入或删除元素应使用deque
- 如果遇到读取输入时需要在容器中间加入元素,随后要随机访问元素则应避免在中间位置插入元素,如果必须插入元素,考虑在输入阶段使用list,输入完成后,拷贝list的内容到vector。
摘自c++ primer