mmp,遇到好几次map,使用的都不是很熟练,便今天挤时间整理了一下。
#include<map>
map<string, int> a
a["Time"] = 5;
//注意使用[]是现在map里寻找是否含有此key,如果没有,则生成此key,且对应的键为初始值
// 如果对象为类,则开销比较大,可以使用下列语句进行插入
a.insert(map<string, int> :: value_type("Time", 5));
map<sting, int>::iterator it, po; // 定义迭代器
it = a.find("Tim");
if (it == a.end())
{
// dont find it
}
else
{ // find it
}
int x = a.count("Tim"); 为0,find函数不会更改key值的情况,而[]会更改
int a.count() 返回指定key出现的次数
it = a.find("Time");
po = a.erase(it); // 删除it对应的key键,并返回下一个元素的迭代器
a.begin() 与 a.end() 均是迭代器,其中a.end() 不对应元素
//遍历方法
typedef map<string, int>::iterator IT;
for(IT it = a.begin(); it != a.end(); ++it)
{
}