首页 » 默认分类 » 正文

[c++] c++容器概括 – 刘傲天

顺序容器概括

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

发表评论