目录

原理

举个栗子


原理

这里要注意的是erase的返回值,这个返回值是下一个结点!!!

这里可以直接用原始的it去接就可以了,不用在++啥的。

举个栗子

如下代码:

#include <string>
#include <iostream>
#include <map>
#include <algorithm>using namespace std;typedef pair<int, string> in_pair;
typedef pair<map<int, string>::iterator, bool> in_pair_bool;void isInsertSuccessful(in_pair_bool pr){if(pr.second){cout << "insert successful!" << endl;}else{throw "insert failed!";}
}void print(in_pair pr){cout << pr.first << "\t" << pr.second << endl;
}int main(){map<int, string> mp;map<int, string>::iterator mpIt;in_pair_bool pr;try{pr = mp.insert(in_pair(1, "courage"));isInsertSuccessful(pr);pr = mp.insert(in_pair(2, "violence"));isInsertSuccessful(pr);pr = mp.insert(in_pair(3, "brave"));isInsertSuccessful(pr);for_each(mp.begin(), mp.end(), print);//delete onempIt = mp.begin();while(mpIt != mp.end()){string::size_type idx;idx = mpIt->second.find("violence");if(idx != string::npos){mpIt = mp.erase(mpIt);}else{mpIt++;}}pr = mp.insert(in_pair(3, "YaMiaoDie"));isInsertSuccessful(pr);}catch(const char *str){cout << str;}getchar();return 0;
}

程序运行截图如下:

这个打印是删除前的打印,删除后数据如下:

STL工作笔记-map中关于erase返回值的操作相关推荐

  1. C++ STL map 中insert函数返回值问题

    当map中的insert函数插入失败后,返回值应该是 **pair<iterator, bool>**型,第二个参数bool值在插入成功时返回true,失败时返回false 那么第一个返回 ...

  2. C++工作笔记-map中结构体的比较

    原理,重载小于符号. 运行截图如下: 代码如下: //map的重载.排序#include <map> #include <string> #include <iostre ...

  3. Qt工作笔记-QML中TextInput设置默认值,以及使用正则表达式只能输入整数

    程序运行截图如下: 源码如下: import QtQuick 2.5 import QtQuick.Window 2.2Window {visible: truewidth: 640height: 4 ...

  4. SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法

    1.SpringMVC中通过@ResponseBody返回对象,作为JQuery中的ajax返回值 package com.kuman.cartoon.controller; import java. ...

  5. python函数内部返回的值_Python中函数的返回值示例浅析

    前言: 前面我们介绍了简单的介绍了函数和函数的参数,今天我们来说一下Python中函数的返回值. 函数的返回值:函数运算的结果,需要进一步的操作时,给一个返回值return用来返回函数的结果,如果没有 ...

  6. python函数返回值_Python中函数的返回值示例浅析

    前言: 前面我们介绍了简单的介绍了函数和函数的参数,今天我们来说一下Python中函数的返回值. 函数的返回值:函数运算的结果,需要进一步的操作时,给一个返回值return用来返回函数的结果,如果没有 ...

  7. scala中map添加值_如何在Scala Map中反转键和值

    scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...

  8. JAVA中返回值为字母时_LeetCode#524通过删除字母匹配到字典里最长单词-java中CompareTo方法用法以及Comparator中Compare方法返回值...

    import java.util.Collections; import java.util.Comparator; import java.util.List; /* 524. 通过删除字母匹配到字 ...

  9. 不显示参数名_第51p,万能参数与返回值,Python中函数的返回值

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与返回值(下篇). ...

最新文章

  1. 【javascript】javascript函数整理之日期型(Date)篇
  2. wps如何自己制作流程图_自己如何制作APP软件
  3. HDU多校4 - 6992 Lawn of the Dead(线段树+模拟)
  4. 收集一些常用的正则表达式
  5. van-cell 取消点击_消息传来!转告父母:2021年起,取消60岁以上老年卡?
  6. 人造电子皮肤、软体机器人、单孔腔镜手术机器人......青年科学家们都在研究哪些“黑科技”?...
  7. Redis——学习之路三(初识redis config配置)
  8. ios+测试版软件,ios15测试版描述文件
  9. 职场泥潭 | 这样的IT公司绝对不宜久留
  10. [置顶] 百度云推送push的使用
  11. Lonza高通量384孔Nucleofector电转平台
  12. 使用lettuce和redisTemplate操作redis cluster踩坑日记
  13. [0CTF 2016]piapiapia BUUCTF 详细writeup
  14. 五一应该去哪里自驾游?哪里人最少,哪里不堵车?这份攻略你必须拥有。
  15. HDOJ1495 非常可乐(bfs)
  16. 说实话,Windows8还是可圈可点的
  17. 杨百万:这么多年不倒 重要的是信奉落袋为安
  18. 十款很不错的磁盘碎片整理工具
  19. 简单-SVN配置遇到的坑
  20. CHM格式的中文问题

热门文章

  1. 6.6纪念永远的badboy
  2. C++是什么?怎么学?学完了能得到什么?
  3. 什么是Python中的map,reduce和filter?
  4. tiantianguandan官方网站
  5. 我听后很高兴的C++
  6. EXE.DLL文件图标导出器[免费下载]
  7. 绘制不规则位图方法总结,多种实现方法,全面测试比较
  8. 一个月学会Python,零基础入门数据分析
  9. 科幻照进现实!2020年这个最新编程技术,将完全颠覆软件开发习惯
  10. 下一个系列连载内容是什么?你猜猜