STL工作笔记-map中关于erase返回值的操作
目录
原理
举个栗子
原理
这里要注意的是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返回值的操作相关推荐
- C++ STL map 中insert函数返回值问题
当map中的insert函数插入失败后,返回值应该是 **pair<iterator, bool>**型,第二个参数bool值在插入成功时返回true,失败时返回false 那么第一个返回 ...
- C++工作笔记-map中结构体的比较
原理,重载小于符号. 运行截图如下: 代码如下: //map的重载.排序#include <map> #include <string> #include <iostre ...
- Qt工作笔记-QML中TextInput设置默认值,以及使用正则表达式只能输入整数
程序运行截图如下: 源码如下: import QtQuick 2.5 import QtQuick.Window 2.2Window {visible: truewidth: 640height: 4 ...
- SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
1.SpringMVC中通过@ResponseBody返回对象,作为JQuery中的ajax返回值 package com.kuman.cartoon.controller; import java. ...
- python函数内部返回的值_Python中函数的返回值示例浅析
前言: 前面我们介绍了简单的介绍了函数和函数的参数,今天我们来说一下Python中函数的返回值. 函数的返回值:函数运算的结果,需要进一步的操作时,给一个返回值return用来返回函数的结果,如果没有 ...
- python函数返回值_Python中函数的返回值示例浅析
前言: 前面我们介绍了简单的介绍了函数和函数的参数,今天我们来说一下Python中函数的返回值. 函数的返回值:函数运算的结果,需要进一步的操作时,给一个返回值return用来返回函数的结果,如果没有 ...
- scala中map添加值_如何在Scala Map中反转键和值
scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...
- JAVA中返回值为字母时_LeetCode#524通过删除字母匹配到字典里最长单词-java中CompareTo方法用法以及Comparator中Compare方法返回值...
import java.util.Collections; import java.util.Comparator; import java.util.List; /* 524. 通过删除字母匹配到字 ...
- 不显示参数名_第51p,万能参数与返回值,Python中函数的返回值
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与返回值(下篇). ...
最新文章
- 【javascript】javascript函数整理之日期型(Date)篇
- wps如何自己制作流程图_自己如何制作APP软件
- HDU多校4 - 6992 Lawn of the Dead(线段树+模拟)
- 收集一些常用的正则表达式
- van-cell 取消点击_消息传来!转告父母:2021年起,取消60岁以上老年卡?
- 人造电子皮肤、软体机器人、单孔腔镜手术机器人......青年科学家们都在研究哪些“黑科技”?...
- Redis——学习之路三(初识redis config配置)
- ios+测试版软件,ios15测试版描述文件
- 职场泥潭 | 这样的IT公司绝对不宜久留
- [置顶] 百度云推送push的使用
- Lonza高通量384孔Nucleofector电转平台
- 使用lettuce和redisTemplate操作redis cluster踩坑日记
- [0CTF 2016]piapiapia BUUCTF 详细writeup
- 五一应该去哪里自驾游?哪里人最少,哪里不堵车?这份攻略你必须拥有。
- HDOJ1495 非常可乐(bfs)
- 说实话,Windows8还是可圈可点的
- 杨百万:这么多年不倒 重要的是信奉落袋为安
- 十款很不错的磁盘碎片整理工具
- 简单-SVN配置遇到的坑
- CHM格式的中文问题