如何将BOOST_FOREACH与Unordered_map一起使用?

Dr.*_*eon 1 c++ foreach boost unordered-map

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

我有一个Unordered_map:

typedef unsigned long long U64;
typedef boost::unordered_map<U64, U64> HASH;
Run Code Online (Sandbox Code Playgroud)

我想循环遍历元素(主要是键),非常像使用PHP foreach,但这次使用BOOST_FOREACH,我怀疑像:

HASH myMap;

// .. assignment, etc...

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

     U64 val = myMap[key];
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 5

Unordered_map将成为一对中的每个条目,因此当您使用地图时,BOOST_FOREACH您将迭代该对,如下所示:

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