一,有关map的操作
1,初始化操作
map<string, int> myMap;
myMap["messi"] = 1;
myMap["jams"] = 2;
myMap["jack"] = 3;
2,插入操作
pair<string, int> value("json", 4);
myMap.insert(value);
3,输出集合中的元素
for(map<string, int>::iterator iter = myMap.begin(); iter != myMap.end(); iter ++){
cout<<"key : "<<iter->first<<endl;
cout<<"value : "<<iter->second<<endl;
}
4,删除元素
//1,删除指定的键值
myMap.erase("jams");
//2,删除迭代器指向的元素
myMap.erase(myMap.begin());
//3,删除指定区间的元素
myMap.erase(myMap.begin(), myMap.end())
5,查找元素
//给定一个键值,如果查找成功函数返回指向这个元素的迭代器,否则返回end()
map<string, int>::iterator iter = myMap.find("messi");
if(iter != myMap.end()){
cout<<"key : "<<iter->first<<endl;
cout<<"value : "<<iter->second<<endl;
}
二,map容器的迭代器的特点
1,是否能通过迭代器改变容器中的元素
不能通过迭代器修改元素的键值,因为map元素的键值关系到map元素的排序规则,改变元素的键值将会破坏map的组织。但是可以通过迭代器修改元素的值。
2,插入或删除操作对迭代器的影响
对map进行元素的插入或删除操作时,操作之前的所有的迭代器,在操作完成之后都依然有效。被删除的那个元素的迭代器除外。
版权声明:本文为cloud323原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。