我有boost::unordered_map<int, Animal*>
,我需要刪除所有的插入其中value就像Animal* a;
相同的指針(一個給出動物*像參數,我有不同的密鑰在地圖中同樣動物*對夫婦地方的指針) 。如何從地圖中刪除具有相同值但密鑰不同的所有記錄?
boost::unordered_map<int, Animal*> mp;
Animal* rex = new Animal("Rex");
mp[1]=rex;
mp[2]=rex;
mp[9]=rex;
如何刪除值爲rex的所有記錄,然後從堆中刪除rex一次?
由於地圖是單向(鍵值)優化的。在你的情況下,你必須迭代所有項目並逐個刪除它們。 – deepmax 2013-04-23 11:19:11