c++ vector的迭代器it 可以it=it+1;为什么list的迭代器 不可以it=it+1呢啊??
2个回答
展开全部
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容器那样的快速随机访问,只能依次访问每个元素。
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询