当使用vector<>::iterator时,有时会发生这种情况,iterator not incrementable

    #include <list>
using namespace std;
int _tmain(int argc, _TCHAR* argv[]){
list<int> slist;
list<int>::iterator iter;
slist.push_back(1);
slist.push_back(5);
slist.push_back(11);
for(iter = slist.begin(); iter != slist.end(); ++iter){
if(11 == *iter){
slist.erase(iter);
}
}
return 0;
}

当slist.erase(iter);当要删除的元素是slist中的最后一个的时候,执行erase之后
iter就指向end了,再次进入for循环,执行++iter就出错了。。。(erase会是迭代器失效)

如果在程序中对vector中的元素做了修改,添加或者删除元素之后,迭代器就会失效,这时候就不要使用迭代器了。

vector iterator not incrementable 的问题相关推荐

  1. c++ vector iterator

    #include <string.h> #include <vector> #include <iostream> #include <algorithm&g ...

  2. can‘t decrement vector iterator before begin

    项目场景: 使用迭代器实现输出vector对象中,第一个和最后一个的和,第二个和倒数第二个的和,以此类推 问题描述: 代码如下: #include<iostream> #include&l ...

  3. map:erase删除元素之后迭代器失效的问题!(iterator not incrementable)

    比如我们现在有如下代码: map<string,int>tmp; for(auto i = tmp.begin();i!=tmp.end();++i) {for(int j = 0;j&l ...

  4. vector容器与iterator迭代器

    vector容器 vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库负责管理存储元素的相关内存.我们把vector称为容器,是因为它可以包含其他对象 ...

  5. Vector容器与Iterator迭加器

    文章出处:http://www.cppblog.com/totti1006/archive/2009/09/01/94955.html vector容器 vector 是同一种类型的对象的集合,每个对 ...

  6. C++ 容器1 vector

    容器分类: 1.顺序容器有以下三种:可变长动态数组 vector.双端队列 deque.双向链表 list. 它们之所以被称为顺序容器,是因为元素在容器中的位置同元素的值无关,即容器不是排序的.将元素 ...

  7. vector 容器 动态数组总结

    vector 容器 动态数组总结 二话不说直接上代码 #include <vector> #include <algorithm> #include <iostream& ...

  8. c语言map作为参数传递,C++中map和vector作形参时如何给定默认参数?

    map和vector都可以用operator[]进行访问,map是用[]中的数据作为key进行查询,而vector是用[]中的数作为下标进行访问. 如果在用operator[]进行访问的时候出现了越界 ...

  9. matlab vector用法,C++ vector 用法汇总

    标准库Vector类型 使用需要的头文件: #include Vector:Vector 是一个类模板.不是一种数据类型. Vector是一种数据类型. 一.  定义和初始化 Vectorv1;    ...

最新文章

  1. numpy.where用法详解,对2维数组判断解释的比较清楚的
  2. AndoridSQLite数据库开发基础教程(8)
  3. OpenCV拼接细节stitching detailed的实例(附完整代码)
  4. 第四章 Python 外壳 :代码结构
  5. wps中将文档输出为pdf_‎
  6. 【mysql】使数据表ID连续的两个方法
  7. Python之面向对象进阶篇
  8. 【Java每日面试题】大厂是如何设计秒杀系统的,渣本Java开发小伙如何一步步成为架构师
  9. matlab中holdon的用法图解,Holdon有多少种用法?-hold on-英语-雷颇磺同学
  10. 上网访问速度慢的原因(计算机网络常识)
  11. linux编译poco静态库,Xcode 编译poco c++静态库
  12. 飘扬的旗帜!shader 编程实战!Cocos Creator!
  13. MySQL数据库的基础操作
  14. 天赐转债,强联转债,再22转债上市价格预测
  15. 机场部队都在用的无人机干扰设备----- TFN MR09
  16. PV UV 日活 月活
  17. 咸鱼带你学计算机网络—概论
  18. 央视版笑傲江湖的价值观 (转)
  19. 再探Handler(上)(Handler核心原理最全解析)
  20. IE被www.537.com,www.COXDX.INFO劫持,修复~

热门文章

  1. 蓟门边studio-码农创业路的起点
  2. command pattern
  3. 并发编程 — 并发数据结构--转载
  4. 用java读取properties文件--转
  5. LESSON 9.4 集成算法的参数空间与网格优化
  6. 【采用】【风控体系】携程基于大数据分析的实时风控体系
  7. FinTech-Blockchain区块链
  8. 解构亚马逊Alexa的1.5万种技能
  9. JVM - 实现自定义的ClassLoader就是这么简单
  10. 基础JavaScript_Day01