1.什么是map?
映射(Map),又称为字典(Dictionary),是由关键字(Key)及其对应的元素
值(Value)所组成的元素单元(Element)的表单式集合。可以迅速地从单元集合中检索到相应的元素.
因此,在需要对大量数据进行查找操作而查找的性能又占据重要地位的场合,Map无疑是一种较理想的容器。
从int到double的映射:(double) a[5]=66.6; 就是把5映射到66.6。数组总是将int类型映射到其它基本类型
(即数组下标的类型为int)(称为数组的基类型)。

2.map的定义:
map< 映射前的类型,映射后的类型> 映射名;

//举例:a. Name[zhangtian]=Class16; 是string映射到了string
b. Score[zhangtian]=119.99; 是将string映射到了double
c. Email['T']=60; 是将char映射到了int
//Name,Score,Email均为映射名

3.map的访问:
a.通过下标访问就像普通的数组元素访问,例如先定义map<char,int> mp,
然后就可以通过mp[‘c’]的方式来访问它对应的元素,如mp[‘c’]=124。
b.通过迭代器访问

4.map的输入输出:
通过下标访问:map<string,int>a; cin>>a[“zhangtian”];//切莫忘记string作为映射前类型时要加“ '' '' ”
map<char,double>b; cin>>b['A']; //切莫忘记char作为映射前类型时要加“ ' ' ”
map<double,int>c; cin>>c[66.6]; //其他照常

5.map的常用函数:
a. mp.erase() 可以删除单个元素,也可以删除一个区间内的所有元素//和其他数据结构使用规则一样
b. mp.clear() 用来清空 map
c. mp.size() 获得map中映射的对数
d. mp.find() 返回键为 key 的映射的迭代器
e. 其余函数大体与其他数据结构相似,在此不一一说明
6.上代码:

#include<map>
#include<iostream>
#include<string>
using namespace std;
int main()
{
    map <string,double> a;
    map <char,int> b;
    cin>>a["priority"];
    cin>>a["setprecision"];
    cin>>a["哈哈哈"]; //中文完全OK 
    a["TFLS"]=100.21;
    a["family"]=999.999;
    for(char o='a';o<='z';o++)
    {
        b[o]=(int)o;//ASCLL码赋值 
    }
    cout<<b['l']<<" ";
    a.clear();
    cout<<b.size()<<" ";
    b.erase(b['a']);
    return 0;
}