我有 STL Multimap,我想从映射中删除具有特定值的条目,我不想删除整个键,因为该键可能映射到其他所需的值。
请帮忙。
最佳答案
如果我理解正确,这些值可以出现在任何键下。如果是这种情况,您将不得不遍历您的 multimap 并删除特定值。
typedef std::multimap<std::string, int> Multimap;
Multimap data;
for (Multimap::iterator iter = data.begin(); iter != data.end();)
{
// you have to do this because iterators are invalidated
Multimap::iterator erase_iter = iter++;
// removes all even values
if (erase_iter->second % 2 == 0)
data.erase(erase_iter);
}
关于c++ - STL Multimap 删除/删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2115640/