std::map在遍历的过程中删除item的最好方式
来源:互联网 发布:microsoft visio mac 编辑:程序博客网 时间:2024/06/07 05:19
看到了一种新的方法:
#include <map>#include <string>void erase_1()//以前都是用的这个笨方法.{ std::map<int, int> cache; for (int i = 1; i < 10; ++i) cache[i] = i * 10; //在遍历的过程中删除某个节点 for (bool reSerarch = true; reSerarch;) { reSerarch = false; for (auto itr = cache.begin(); itr != cache.end(); ++itr) { if (itr->first == 6) { cache.erase(itr); reSerarch = true; break; } } } return;}void erase_2()//在看了某同事的代码后,发现,竟然还有这种操作,-_-!{ std::map<int, int> cache; for (int i = 1; i < 10; ++i) cache[i] = i * 10; //在遍历的过程中删除某个节点 for (auto itr = cache.begin(); itr != cache.end(); ++itr) { if (itr->first == 6) { itr = cache.erase(itr); } } /* C++11 (1) iterator erase (const_iterator position); (2) size_type erase (const key_type& k); (3) iterator erase (const_iterator first, const_iterator last); */ return;}int main(){ erase_1(); erase_2(); return 0;}完。
阅读全文
0 0
- std::map在遍历的过程中删除item的最好方式
- std::map 通过遍历删除满足某些条件元素的两种方式
- std::map 通过遍历删除满足某些条件元素的两种方式
- std::map 通过遍历删除满足某些条件元素的两种方式
- C++遍历中删除std::map元素
- C++遍历中删除std::map元素
- 在对MAP遍历过程中有删除操作
- Java Map在遍历过程中删除元素
- Java Map在遍历过程中删除元素
- std map 在循环中循环删除
- std::map 在循环中删除元素
- STL容器:在遍历的过程中删除元素
- 在遍历List的过程中删除元素
- stl容器在循环遍历中删除元素的方式
- 遍历删除map中元素的方法
- java中遍历map的方式
- 遍历map的2中方式
- java中 map的循环遍历方式
- MySQL中‘grand‘的用法
- floodlight控制器探测拓扑结构
- Libevent源码分析-----跨平台Reactor接口的实现
- JAVA三大特性
- Java面向对象的三大特性
- std::map在遍历的过程中删除item的最好方式
- HashMap中关于数组和链表的一些认识
- (个人)AR电子书创新实训中期报告
- java面向对象的三大特性
- [长期记录]开发中的小知识点
- POJ 1852 Ants G++
- 学习日志 杂文
- 回收站概念+回收站对象命名+查看回收站
- Libevent源码分析-----Libevent工作流程探究