STL笔记之【map之移除元素】
2015-11-20 17:25
393 查看
//--------------------------------------------------------- // 移除map中满足条件的元素 //--------------------------------------------------------- // 1.创建map map<int, string> mapTest; mapTest.insert(map<int, string>::value_type(0, "0")); mapTest.insert(map<int, string>::value_type(1, "1")); mapTest.insert(map<int, string>::value_type(2, "2")); // 2.移除满足条件的元素 map<int, string>::iterator iter = mapTest.begin(); for (; iter != mapTest.end(); ) { if (iter->second == "1") { mapTest.erase(iter++); } else { ++iter; } } // 3.总结 map.erase(pos)是不返回pos的下一个迭代器的 注意if中的mapTest.erase(iter++); 而不是++iter //--------------------------------------------------------- // 移除map中key为某一值的元素 //--------------------------------------------------------- mapTest.erase(keyValue); 如果mapTest为multimap,则会删除key==keyValue的所有元素 如果在multimap中只想移除第一个key==keyValue的元素 则代码应当如此 pos = mapTest.find(keyValue); if (pos != mapTest.end()) { mapTest.erase(pos); }
相关文章推荐
- 进程结束后,进程的所有内存都将被释放,包括堆上的内存泄露的内存。
- 文本框textarea实时提示还可以输入多少文字
- django 创建表单
- Android Resource篇--- I 存放资源文件的规则
- RE选老婆
- 内核中的printk, <0>的优先级最高,<7>优先级最低
- IPv6 NDP邻居发现协议 2
- c++ STL set 使用
- UIPickerView的点滴
- 将tomcat、mysql添加到系统服务
- 查找文件位置
- ibatis动态查询条件
- 数组指针和指针数组的区别
- 状态转移矩阵(status transition matrix )
- Sorry, Ubuntu xx.xx Has Experienced An Internal Error
- Use Of Cursors And Parallel Cursors In SAP ABAP
- Factorial
- Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'xml-bod
- 容器私有云和持续发布都要解决哪些基础问题 第二集
- AngularJS路由系列(2)--刷新、查看路由,路由事件和URL格式,获取路由参数,路由的Resolve