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)
{
}