码迷,mamicode.com
首页 > 编程语言 > 详细

C++Primer 5th Chap9 Sequential Container(未完)

时间:2019-09-14 17:22:45      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:count   container   不能   auto   技术   mamicode   随机   运算符   iterator   

vector 可变大小数组,支持快速随机访问(在除了尾部之外部分插入删除元素很慢)
deque 双端队列,支持快速随机访问(在头尾插入删除元素很快)
list 双向链表,仅支持双向顺序访问(在任何位置插入删除元素都很快)
forward_list 单向链表,仅支持单向顺序访问(在任何位置插入删除元素都很快)
array         固定大小数组,支持快速随机访问,不能插入删除元素
string 仅支持保存字符的类似vector容器

tips:通常使用vector是最好的选择,当然如有必要也可选择其他容器

    如果不确定使用哪种容器,可以只使用vector和list公共的操作:iterator,无下标,避免随机访问

 技术图片

 iterator

  注意:forward_list不支持递减运算符(--)

  vector和string的迭代器运算同样支持deque和array

  如果begin==end,范围为空(否则范围内至少有一个元素,若干次递增begin可以使得begin==end)

容器类型成员:(详情见Chap16)

  需要元素类型,使用容器的value_type

  需要元素类型的一个引用,使用reference或const_reference

  例如: list<string>::iterator iter;

      vector<int>::difference_type count;

begin和end成员:

  //显式指定类型  list<string>::iterator it3=a.begin();

  //c++11  auto it2=a.begin();或auto it4=a.cbegin();(it4 是const_iterator)

技术图片

 

C++Primer 5th Chap9 Sequential Container(未完)

标签:count   container   不能   auto   技术   mamicode   随机   运算符   iterator   

原文地址:https://www.cnblogs.com/hfut-freshguy/p/11518911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!