map 查找键 并删除,遍历
转自:https://www.zhaokeli.com/article/8309.html
1 map<string,int>::iterator key = cmap.find("Anna"); 2 if(key!=cmap.end()) 3 { 4 cout<<key->second<<endl; 5 //这里是用指定的迭代指针删除 6 cmap.erase(key); 7 } 8 //也可以直接用指定的键删除 9 cmap.erase("samy");
map遍历:引用:https://blog.csdn.net/VariatioZbw/article/details/124947520
#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> mp; mp["张三"] = 20; mp["李四"] = 18; mp["王五"] = 30; // 方式一、迭代器 cout << "方式一、迭代器" << endl; for (auto it = mp.begin(); it != mp.end(); it++) { cout << it -> first << " " << it -> second << endl; } // 方式二、range for C++ 11版本及以上 cout << "\n方法二、 range for" << endl; for (auto it : mp) { cout << it.first << " " << it.second << endl; } // 方法三、 C++ 17版本及以上 cout << "\n方法三" << endl; for (auto [key, val] : mp) { cout << key << " " << val << endl; } return 0; }
结果:
方式一、迭代器 王五 30 李四 18 张三 20 方法二、 range for 王五 30 李四 18 张三 20 方法三 王五 30 李四 18 张三 20