使用boost_foreach迭代unordered_map

时间:2014-01-18 15:57:10

标签: c++ boost

在我的班上,我有soundmap

class SoundSubSystem
{
private:
    boost::unordered_map<string, ISoundEngine*> soundmap;
....
};

但是如何使用BOOST_FOREACH迭代它?

SoundSubSystem::~SoundSubSystem()
{
    BOOST_FOREACH(/*?*/ item, soundmap) {
        item.second->drop();
    }
};

item应具有哪种值类型?

1 个答案:

答案 0 :(得分:2)

试试这个: -

typedef boost::unordered_map<string, ISoundEngine*> myhash;

BOOST_FOREACH(myhash::value_type& item, soundmap) {
        item.second->drop();
    }