#include <map> int main() { std::map<int, std::string> myMap; myMap[1] = "Apple"; myMap[2] = "Banana"; myMap[3] = "Orange"; // 使用迭代器遍历键 for (auto it = myMap.begin(); it != myMap.end(); ++it) { std::cout << it->first << std::endl; } return 0;...
Erasing: Bart, 11Erasing: Homer, 38Erasing: Lisa, 8Erasing: Maggie, 1Erasing: Marge, 37 第三种更安全的for 循环遍历: #include<map>#include<string>#include<iostream>usingnamespacestd;intmain(){ map<int,string*> m; m[1]=newstring("1111111111111111"); m[2]=newstring("2222222222222222");...
using namespace std; int main() { map<int,string*> m; m[1]= new string("1111111111111111"); m[2]= new string("2222222222222222"); m[3]= new string("3333333333333333"); m[4]= new string("4444444444444444"); m[0]= new string("5555555555555555"); map<int,string*>::iterator it; ...
_map[200] = "booomm"; //通过insert插入 _map.insert(std::pair<int,std::string>(4, "33333")); 1. 2. 3. 4. 取值: 用at和[]: //Map中元素取值主要有at和[]两种操作,at会作下标检查,而[]不会。 std::cout<< _map.at(100).c_str()<< std::endl;//使用at会进行关键字检查,因为没...
std::map<int,int>::iterator iter;for(iter=m_map.begin();iter != m_map.end();){ m_map.erase(iter++);//++放在这⾥,放在for的最后⾯会出错 } 4、遍历 std::map<int,int>::iterator iter;for(iter=m_map.begin();iter != m_map.end();){ int key = iter->first;/...
std::map遍历删除某些元素问题 typedef map<int, string> INT2STR; INT2STR m; ... ... for (INT2STR::iterator itr = m.begin(); itr != m.end(); ++itr) { if (Condition(*itr)) m.erase(itr); } 1. 2. 3. 4. 5. 6. 7.
C++遍历中删除std::map元素 下面是C++遍历中删除std::map元素: 在std::list中删除一个元素非常简单,直接使用erase方法即可,代码如下: for(iter = list.begin(); iter != list.end();) { if (shouldDelete(*iter)) iter = list.erase(iter); else ++iter; } 或者更简单点...
stl里面有remove之类的方法,不过用起来是有点麻烦
C++:std::map的遍历 for(auto &kv : myMap) { count<<kv.first<<"has value"<<kv.second<<endl; }