stl中map的四种插入方法总结
stl中map的四种插入方法总结
方法一:pair
例:
map<int, string> mp;
mp.insert(pair<int,string>(1,"aaaaa"));
方法二:make_pair
例:
map<int, string> mp;
mp.insert(make_pair<int,string>(2,"bbbbb"));
方法三:value_type
例:
map<int, string> mp;
mp.insert(map<int, string>::value_type(3,"ccccc"));
方法四:[]
例:
map<int, string> mp;
mp[4] = "ddddd";
四种方法异同:
前三种方法当出现重复键时,编译器会报错,而第四种方法,当键重复时,会覆盖掉之前的键值对。
综合测试:
#include<iostream>
#include<map>
using namespace std; int main()
{
map<int, string> mp;
//map的插入方法有4种
//insert返回值为pair 原型:typedef pair<iterator, bool> _Pairib
//方法1.pair 在插入重复键的情况下前三种方法类似,这里只测试第一种
pair<map<int,string>::iterator, bool> pair1 = mp.insert(pair<int,string>(,"aaaaa11111"));
if (pair1.second == true)
{
cout<< "插入成功" <<endl;
}
else
{
cout<< "插入失败" <<endl;
} pair<map<int,string>::iterator, bool> pair2 = mp.insert(pair<int,string>(,"aaaaa22222"));
if (pair2.second == true)
{
cout<< "插入成功" <<endl;
}
else
{
cout<< "插入失败" <<endl;
}
//方法2.make_pair
mp.insert(make_pair<int,string>(,"bbbbb33333"));
mp.insert(make_pair<int,string>(,"bbbbb44444")); //方法3.value_type
mp.insert(map<int, string>::value_type(,"ccccc55555"));
mp.insert(map<int, string>::value_type(,"ccccc66666")); //方法4.[]
mp[] = "ddddd77777";
mp[] = "ddddd88888"; for (map<int,string>::iterator it = mp.begin(); it != mp.end(); it++)
{
cout<< it->first << "\t" << it->second <<endl;
}
cout<< "--------------------------------" <<endl;
//删除
while(!mp.empty())
{
map<int,string>::iterator it = mp.begin();
cout<< it->first << "\t" << it->second <<endl;
mp.erase(it);
} return ;
}
stl中map的四种插入方法总结的更多相关文章
- js中this的四种使用方法
0x00:js中this的四种调用模式 1,方法调用模式 2,函数调用模式 3,构造器调用模式 4,apply.call.bind调用模式 0x01:第一种:方法调用模式 (也就是用.调用的)this ...
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
- sqlserver中数据的四种插入方式
1.insert into stuInfo(name,stuId) values('李洁','19291727')insert into stuInfo(name,stuId) values('李康' ...
- Map的四种遍历方法
1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...
- Map的四种遍历
//Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- AJPFX关于Java中运用数组的四种排序方法
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比 ...
- java 遍历map的四种方法
16:21:42 Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项( ...
- C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏
C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...
随机推荐
- 51nod 1657 电子龟
电子龟的行动,是沿着直线左右走动的.他能够接受两种指令,“T”(向后转,即如果面向左,改成向右:否则就向左)和“F”(向当前面朝的方向往前移动一个单位距离). 现在给出一串指令,让电子龟来执行.你必须 ...
- 1209 BBS 登录
目录 上周内容 今日内容 url.py views.py login home.html 逻辑流程 登录功能 上周内容 bbs项目 项目开发流程 需求分析 架构设计 分组开发 我们一般情况下都只是作用 ...
- .net框架-数组
.net框架所有数组均隐藏继承自System.Array. 数组有维数(Rank),长度(Length),元素类型(Element Type)基本属性. 数组基类System.Array: Array ...
- ASP.NET MVC 入门11、使用AJAX
asp.net mvc 支持微软自身Ajax 和 JQuery框架 asp.net mvc View视图可以理解为 一个包含"<%%>"变量引和的模板. Script与 ...
- js弹窗输入
<html> <head> <title>js输入对话框</title> </head> <body> <script l ...
- C#随机数Random
一.常用操作 NextDouble():返回0-1.0之间的随机数 Next():返回非负随机数(0-216) Next(i):返回一个小于i的非负随机数 Next(i,j):生成i – j 的随机数 ...
- JS基础篇之作用域、执行上下文、this、闭包
前言:JS 的作用域.执行上下文.this.闭包是老生常谈的话题,也是新手比较懵懂的知识点.当然即便你作为老手,也未必真的能理解透彻这些概念. 一.作用域和执行上下文 作用域: js中的作用域是词法作 ...
- YAML_04 用user模块添加用户,并修改密码
ansible]# vim user.yml --- - hosts: cache remote_user: root vars: username: lisi tasks: ...
- 洛谷 P1638 逛画展 题解
P1638 逛画展 题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字, ...
- BZOJ 1073: [SCOI2007]kshort
二次联通门 : BZOJ 1073: [SCOI2007]kshort /* BZOJ 1073: [SCOI2007]kshort A* k短路 但是会爆一个点, 是卡A*的 */ #include ...