c++ vector的迭代器it 可以it=it+1;为什么list的迭代器 不可以it=it+1呢啊??

 我来答
tattackor
推荐于2018-03-13 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:878万
展开全部

1、std::list是顺序容器,但不是随机访问容器(仅有std::vector,C数组和c++11中的std::array是),所以其迭代器只支持++和--这种双向的链式操作(c++11中的slist则只支持++)。


2、如果想一次移动多个位置,也可以使用<iterator>里的advance函数,例子如下:

list<int>::iterator it = mylist.begin();
advance (it,5);
cout << "The sixth element in mylist is: " << *it << endl;
匿名用户
2011-09-27
展开全部
list容器的迭代器不支持加减等数术运算,因为list容器不支持像vector容器那样的快速随机访问,只能依次访问每个元素。
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式