如何遍历hashMap(C ++)以便我可以浏览所有元素?
我有这个名为map的哈希:
HashMap<std::string, int> map;
map.insert (key1, value1);
map.insert (key2, value2);
map.insert (key3, value3);
...
...
...
map.insert (keyN, valueN);
答案 0 :(得分:0)
hash_map
已被弃用,但同样的原则适用...您可以使用范围循环(在这种情况下使用 unordered_map )
使用auto会使它像:
#include <iostream>
#include <string>
#include <unordered_map>
int main()
{
std::unordered_map<std::string, int> myMap;
myMap.insert(std::pair<std::string, int>("a", 1));
myMap.insert(std::pair<std::string, int>("b", 2));
myMap.insert(std::pair<std::string, int>("c", 3));
myMap.insert(std::pair<std::string, int>("d", 4));
for (const auto& x : myMap)
{
std::cout << "fisrt: " << x.first << ", second: " << x.second << std::endl;
}
std::cin.get();
return 0;
}
答案 1 :(得分:0)
如果它同时具有begin()和end()成员函数,你应该能够简单地将它放在一个范围循环中。
for (auto& entry : map)
//whatever you want here