在我的課unordered_map我有這樣的soundmap
迭代通過使用BOOST_FOREACH
class SoundSubSystem
{
private:
boost::unordered_map<string, ISoundEngine*> soundmap;
....
};
但如何通過它使用BOOST_FOREACH
迭代?
SoundSubSystem::~SoundSubSystem()
{
BOOST_FOREACH(/*?*/ item, soundmap) {
item.second->drop();
}
};
應該item
有什麼樣的價值類型?
只是作爲一個建議,考慮你的編譯器升級到提供C++ 11的支持版本,並使用基於範圍的'for'循環:'的(汽車及項目:soundmap){item.second-> drop(); }'。 –
我正在使用visual studio 2010--據我所知它不支持C++ 11 – lapots
事實上,它不支持C++ 11的基於範圍的for循環,但它支持'auto'。所以你可以這樣做:'BOOST_FOREACH(auto&item,soundmap){item.second-> drop(); }'。 –