c++ map基本用法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiangxianghehe/article/details/82940773

一.声明

//头文件
#include<map>

map<int, string> ID_Name;

// 使用{}赋值是从c++11开始的
map<int, string> ID_Name = {
                { 2015, "Jim" },
                { 2016, "Tom" },
                { 2017, "Bob" } };

二.插入

一.用insert函数插入pair数据
二.用insert函数插入value_type数据
三.用数组[]方式插入数据

注意: make_pair():
无需写出型别, 就可以生成一个pair对象
例:
std::make_pair(42, '@');
而不必费力写成:
std::pair<int, char>(42, '@');

#include <iostream>
#include <map>
using namespace std;

int main()
{
    	map<char, int> mymap;
	map<char, int> anothermap;
	mymap.insert(std::pair<char, int>('a', 100));
    	mymap.insert(std::pair<char, int>('z', 200));
	mymap.insert(make_pair('c',1000));
	mymap.insert(make_pair('d',2000));
	map<char,int>::iterator it;
	/*
	for(it = mymap.begin(); it!= mymap.end();it++)
	{
		cout<<it->first<<" ";
		cout<<it->second<<"  ";
		cout<<endl;
		
	}
	*/
	anothermap.insert(mymap.begin(), mymap.find('z'));//范围多值插入
	anothermap['g'] = 10000;//数组形式插入
	anothermap.insert({ { 'd', 100 }, {'e', 200} });// 列表形式插入
	anothermap.insert(map<char, int>::value_type('h',222));
	for(it = anothermap.begin(); it!= anothermap.end();it++)
	{
		cout<<it->first<<" ";
		cout<<it->second<<"  ";
		cout<<endl;
	}
	return 0;
}


/*
output:
a 100  
c 1000  
d 2000  
e 200  
g 10000  
h 222  
*/

猜你喜欢

转载自blog.csdn.net/xiangxianghehe/article/details/82940773