转自:http://blog.csdn.net/kuaile123/article/details/11105115

vector::erase误使用问题:

  暂时使用经验: 不能在循环中使用,否则会报如题错误。

2014/03/11更新:循环删除容器中符合条件的元素

  《C++ Primer(Edit 5)》, P.349

  Both forms of erase return an iterator referring to the location after the(last) element that was removed.That is, if j is the element following i, then erase(i) will return an iterator referring to j.

  Example:

    list<int> lst = {0,1,2,3,4,5,6,7,8,9}

    auto it = lst.begin();

    while (it != lst.end())

    {

      if (*it % 2)

        it = lst.erase(it);

      else

        ++it;

    }

转载于:https://www.cnblogs.com/azor/p/3591062.html

[转]vector iterator not incrementable 的问题相关推荐

  1. vector iterator not incrementable 的问题

    当使用vector<>::iterator时,有时会发生这种情况,iterator not incrementable #include <list> using namesp ...

  2. c++ vector iterator

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

  3. can‘t decrement vector iterator before begin

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

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

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

  5. vector容器与iterator迭代器

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

  6. Vector容器与Iterator迭加器

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

  7. C++ 容器1 vector

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

  8. vector 容器 动态数组总结

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

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

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

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

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

最新文章

  1. vue打包关闭console.log
  2. 三维数组设置索引_10-Unity入门学习之C#基础9「数组」
  3. 常见文件、目录、路径操作函数
  4. Nginx-Lua模块的执行顺序
  5. Windows CE下驱动程序开发基础
  6. sa是什么岗位_服务顾问SA在维修企业扮演的重要角色
  7. 生成器 python0 1 8 27 64_python 生成式和生成器
  8. css 列表相关的属性 列表前的小点点 0302
  9. 叮叮叮~~~~网络面试题(一)来了☺
  10. 合并table中某一列相邻的相同的行
  11. 安装ps时无法验证订阅状态_关于宝马B38/B48发动机无法启动的技术通报
  12. BZOJ3240 NOI2013矩阵游戏(数论)
  13. 【GDOI2018】所有题目和解题报告
  14. TCP UDP 本地套接字 网络套接字
  15. linux设置程序开机自启动
  16. mysql网上图书销售_PHP+MySQL网上书店|网上图书销售系统
  17. 【专题6: 其他知识】 之 【2.1.关于择业和就业_嵌入式学习路线和方法】
  18. java 模块层次结构图_Spring框架模块结构图解析
  19. RabbitMQ学习(二)-Rabbit的使用
  20. 七大步教你征服丈母娘

热门文章

  1. *第四周*数据结构实践项目一【创建单链表】
  2. SpringBoot properties和yml的区别
  3. 四十五.加密与解密 AIDE入侵检测系统 扫描与抓包
  4. Liunx 常用命令
  5. 雇员查询java面试题经典29例【第八季_常瑞鹏】
  6. Xcode 12 导出ipa包
  7. 【转载】在windows上部署使用Redis
  8. 网络七层,五层,四层模型,数据封装、解封装,进制转换。
  9. CXF webservice完整例子
  10. TimePickerDialog -下划线颜色修改