std::map遍历删除某些元素问题

原创 2006年05月22日 16:48:00
    typedef map<int, string> INT2STR;
    INT2STR m;
     
    ... ...
    
    for (INT2STR::iterator itr = m.begin(); itr != m.end(); ++itr)
    {
        if (Condition(*itr))
            m.erase(itr);
    }

itr删除与遍历是否有问题,该如何改?

查阅:
http://topic.csdn.net/t/20040819/09/3288683.html
http://bbs.chinaunix.net/archiver/?tid-748398.html

正确方法应为: m.erase(itr++);
iterator删除后不该继续使用。
版权声明:

相关文章推荐

map的遍历及删除元素

map中有两种遍历方式,entrySet及keySet,使用时视具体情形定。 entrySet:同时取到key和value; keySet:先取key值,再根据key得到value. 如果需要删...

码农小汪-Map遍历的时候删除元素

今天这里有个需求,需要在遍历Map的时候删除我们的Map中的元素我自己也是写了一个Demopackage test;import java.util.HashMap; import java.util...

STL中用erase()方法遍历删除元素注意的问题

转自:http://www.cppblog.com/Herbert/archive/2009/01/08/70479.html   STL中的容器按存储方式分为两类,一类是按以数组形式存储的...

利用java迭代器Itetator遍历并删除HashMap中的元素问题

转自 http://www.blogjava.net/hwpok/archive/2011/11/05/362723.html 问题: 下面的代码试图利用HashMap的Iterator对象遍...

编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。

编写一个类,在main方法中定义一个package com.itheima; import java.util.Set; import java.util.TreeMap; /** *第3题:编...

如果遍历map中最后一个元素rbegin(),end(),rend()

#include "stdafx.h" #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) ...

map常用成员(关联容器)----创建map<主键,主键对应的值>,增insert,删erase,改查找find,然后修改second,遍历iterator,获取元素个数size,判空empty

map是STL的一个关联容器,它提供一对一(第一个字段为关键字,每个关键字只能在map中出现一次,第二个字段称为该关键字的值)的数据处理能力,由于这个特性 map内部的实现自建一颗红黑树(一种非严格...

编程之美 3.4 的扩展问题:遍历一遍单链表,使得元素顺序相反

题干 编写一个函数,给定一个链表的头指针,要求只遍历一次,将单链表中的元素顺序反转过来。 解题思路 我想按着顺序把一个指针的下一个元素改为它之前的元素,最后返回表尾元素,所以在一次遍历过程中需要额外三...

angularJs中ng-repeat遍历动态生成的表单元素绑定ng-model无效的问题

我在做练习中偶然遇到这个问题,与大家分享一下。我也是刚开始接触angularJs,相信也有人同样遇到过。   问题描述:在使用anjularJs框架核心模块ng双向数据绑定,在ng-repeat遍历对...
  • zpcsgo
  • zpcsgo
  • 2016-11-03 19:28
  • 2287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)