fkjj.net
当前位置:首页 >> [C++ STL]这个向量迭代器问题,实在受不了了,程序简... >>

[C++ STL]这个向量迭代器问题,实在受不了了,程序简...

你在删除itorb之前,做了itora++;运算,但是在删除itorb之后,itora就失效了,现在的itora指向了原来的下一个位置。虽然在后来又做了itora--;运算,但是在if外面又有一次itora++;,所以你现在已经把第二个6也跳过去了。 你如果要坚持自己删除的...

可以++或者--,不过你的vi初始化是不是搞错了啊,是不是应该vi=in_vec.end();如果是vi=in_vec.begin(),那if条件满足时,vi--不久溢出了吗

迭代器失效,有两个层面的意思, 1) 无法通过迭代器++,--操作遍历整个stl容器。记作: 第一层失效。 2) 无法通过迭代器存取迭代器所指向的内存。 记作: 第二层失效。 关于这个问题, 不同的容器对应的结果是不同的。 vector vector是个连续内存存储...

网上例子多了,自己去搜去,这个都要来知道上问!你一个做软件的要加强信息资料查询能力才行。自己去找吧。

iterator并不是真正的指针!!! iterator通过重载++运算符来实现对容器类中下一元素的访问,而且通过重载引用运算符(&)和解引用运算符(*)使iterator表现出指针的行为。 因此在语句 for(iterator iter=*.begin();iter < *.end();iter++) { ... }...

这个是迭代器的特征,list通过实现迭代器从而可以实现迭代concept。具体请参考《Generic programming and the STL》一书(第一篇的第一章),STL作为一个基本完备的数据操作集,其设计理念和依据都非常抽象,想要理解有一定的难度,而且单单拿出...

迭代器不是“地址”,它是对象的一个逻辑的位置信息,不明白你所谓的“数组”什么意思,iterator当然指向的是单个对象 cin代表的是一个输入流,其能读入的东西当然也可以看作一个序列对象,因此也可以有逻辑地址。不要把“指针”“iterator”一定和链表...

容器就是数据结构的泛指,迭代器就是指针的泛指,可以指向元素。容器相当于一个储藏柜,里面装的许多不同的物品就像是储存的元素,比如面包、啤酒、苹果、现金。要取得各个物体就得用与各个物体向匹配的工具,如取出面包要用盘子、取出啤酒要用...

不要这么写 vector no; int i; for(i=0;i

struct _List_iterator_base { _List_node_base* _M_node; bool operator==(const _List_iterator_base& __x) const { return _M_node == __x._M_node; } bool operator!=(const _List_iterator_base& __x) const { return _M_node != __x._M_no...

网站首页 | 网站地图
All rights reserved Powered by www.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com