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