std::map遍历删除某些元素问题
2006-05-22 16:48
591 查看
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删除后不该继续使用。
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删除后不该继续使用。
相关文章推荐
- std::map遍历删除某些元素问题
- std::map 通过遍历删除满足某些条件元素的两种方式
- std::map 通过遍历删除满足某些条件元素的两种方式
- std::map 通过遍历删除满足某些条件元素的两种方式
- C++遍历中删除std::hash_map元素问题
- C++遍历中删除std::map元素
- C++遍历中删除std::map元素
- C++遍历中删除std::map元素
- C++遍历中删除std::map元素
- Java Map遍历的同时进行元素删除
- c++ 遍历map的时候删除元素
- 遍历删除map中元素的方法
- 遍历std::list过程中删除元素后继续遍历过程
- C++:在遍历/循环中删除map元素, 如何避免iter 迭代器失效
- vector, list, map在遍历时删除符合条件的元素
- java.util.ArrayList在foreach循环遍历时删除元素的问题
- map遍历元素删除
- c++如何遍历删除map/vector里面的元素
- Java&nbsp;遍历Map时&nbsp;删除元素ZZ
- vector list map 遍历删除制定元素 防止迭代器失效的实例