map<char, int>, map<string ,int>都可以定义,但是不能用map<char[] ,int>这种char型数组,主要的几个操作是,map[a] = 1,
用 iterator->first, iterator->second分来访问键与值,size(), clear(), find('a')返回迭代器,erase(it) ,erase(it.begin(), it.end())等:
#include<cstdio>
#include<map>
#include<iostream>
using namespace std;
int main()
{
map<char, int> mp;
mp['a'] = 1;
mp['c'] = 2;
mp['d'] = 3;
for(map<char, int>::iterator it = mp.begin(); it != mp.end(); it++)
printf("mp[%c] = %d\n", it->first, it->second);
map<char, int>::iterator it = mp.find('c');
printf("mp.find(c) = %d\n", it->second);
printf("mp.size() = %d\n", mp.size());
mp.erase(it);
printf("执行erase后的mp.size() = %d\n", mp.size());
mp.erase(mp.begin(), mp.end());
printf("执行mp.erase(mp.begin(), mp.end())后的mp.size() = %d\n", mp.size());
return 0;
}
结果截图为: