//代码笔记——映射map
#include <iostream>
#include <map>//map头文件
using namespace std;
/*定义map
格式:"map<t1,t2> n;"
其中,t1是映射前的类型,t2是映射后的类型,n为映射的名字。
*/
/*如:*/
map<int,int> a1;
map<char,int> a2;
map<string,int> a3;
map<int,char> b1;
map<char,char> b2;
map<string,char> b3;
int main()
{
/*赋值*/
/*格式:"n[t1]=t;",n为映射的名字,t1是映射前的类型,t是1个t2类型的数*/
a1[123]=123,a2['a']=456,a3["abc"]=789;
/*输入*/
/*格式:"cin>>n[t1];",n为映射的名字,t1是映射前的类型*/
cin>>b1[123]>>b2['a']>>b3["abc"];//这里作者输入a,b,c;
/*输出*/
/*格式:"cout<<n[t1];",n为映射的名字,t1是映射前的类型*/
cout<<"a1[123]="<<a1[123]<<" a2['a']="<<a2['a']<<" a3["<<"abc"<<"]="<<a3["abc"]<<"\n";
cout<<"b1[123]="<<b1[123]<<" b2['a']="<<b2['a']<<" b3["<<"abc"<<"]="<<b3["abc"]<<"\n";
cout<<"-----------------------------------\n";
map<string,int>m1;
m1["aaa"]=123456;
m1["bbb"]=234567;
m1["ccc"]=345678;
/*迭代器*/
for(auto t=m1.begin();t!=m1.end();t++){
//begin()是指向map中最小元素的迭代器
//end()是指向map中最大元素下一个位置的迭代器。
cout<<"m1["<<t->first<<"]="<<t->second<<"\n";
}
cout<<"-----------------------------------\n";
int len=m1.size(); // 元素个数;
cout<<"m1的元素个数="<<len<<"\n";
m1.clear(); // 清空m1;
len=m1.size();
cout<<"m1的元素个数="<<len<<"\n";
return 0;
}