1 //初始化map 2 map<int,string> mp;//构造一个map 3 map<int,string> mps(mp);//在用map构造另一个map 4 map<int,string> maps(mp.begin(),mp.end());//使用map范围构造另一个map,两个类型需要一样 5 6 //构造 map 复杂一点的 等等 key和value是任何值 7 map<string,vector<string > > mp; 8 map<int,map<string,vector<string> > > mps; 9
测试代码:
1 #include<bits/stdc++.h>
2 using namespace std;
3 void show(map<int,string>& mp){
4 map<int,string>::iterator iter=mp.begin();
5 while(iter!=mp.end()){
6 cout<<iter->first<<" "<<iter->second<<endl;//用了pair对,因此我们对于其中的元素需要通过it->first,或者it->second来访问。
7 iter++;
8 }
9 }
10 int main()
11 {
12 //先构造 map
13 map<int,string> mp;//构造一个map
14
15 //插入数据
16 mp.insert(pair<int,string>(1,"map one"));
17 mp.insert(pair<int,string>(2,"map two"));
18 mp.insert(pair<int,string>(3,"map three"));
19 mp.insert(pair<int,string>(4,"map four"));
20
21
22 map<int,string> mps(mp);//在用mp构造另一个
23 map<int,string> maps(mp.begin(),mp.end());//使用map范围构造另一个map,两个类型需要一样
24
25 show(mp);
26 cout<<mps.size()<<endl;//4
27 show(mps);
28 cout<<maps.size()<<endl;//4
29 show(maps);
30 return 0;
31 }
运行结果:
1 1 map one 2 2 map two 3 3 map three 4 4 map four 5 4 6 1 map one 7 2 map two 8 3 map three 9 4 map four 10 4 11 1 map one 12 2 map two 13 3 map three 14 4 map four