c++ - 如何将 BOOST_FOREACH 与 Unordered_map 一起使用?

标签 c++ boost foreach unordered-map

好的,这是我的情况 - 非常简单,但我不确定它是如何工作的(我找不到任何文档......):

我有一个 Unordered_map :

typedef unsigned long long U64;
typedef boost::unordered_map<U64, U64> HASH;

我想遍历元素(主要是键),就像使用 PHP foreach 一样,但这次使用 BOOST_FOREACH,我怀疑是这样的:

HASH myMap;

// .. assignment, etc...

BOOST_FOREACH (U64 key, myMap)
{
     // do sth with the Key-Value pair

     U64 val = myMap[key];
}

有什么想法吗?

最佳答案

Unordered_map 中的每个条目都是一对,因此当您将 map 与 BOOST_FOREACH 结合使用时,您将像这样迭代该对:

BOOST_FOREACH( HASH::value_type& v, myMap ) {
    std::cout << "key is " << v.first << " value is " << v.second << std::endl;      
}

关于c++ - 如何将 BOOST_FOREACH 与 Unordered_map 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13926534/

相关文章:

c++ - 在 C++ 中顺序读取文本文件

php - 将 PHP 数组中的相同项目分组并进行计数

c# - 一圈还是两圈? (如何阅读 IL)

php - 使用 foreach 将元素数组放在正确的标题下

c++ - boost karma - 从一个属性生成多个字符串

c++ - 尝试制作类模板时未命名类型错误

c++ - 控制台取消命令

c++ - 在 C++ 中创建可装饰的有效事件处理类型

c++ - boost::spirit::qi::lexeme 没有捕获完整的 token

c++ - 如何解析 POST body/GET 参数?