以下代码无法正常工作。它应该如何正确地完成?如何遍历STL集合并选择性地删除元素?
for (std::set<Color>::iterator i = myColorContainer.begin();
i!=myColorContainer.end();
++i)
{
if (*i == Yellow)
{
DoSomeProccessing(*i);
myColorContainer.erase(i);
}
}
代码符合标准。我同意@Viktor Sehr这将是从集合中删除元素的首选方法。但是,该问题询问如何让代码段工作。 – 2010-06-17 09:21:57
@daramarak:我认为你在编辑代码的时候回答了(认为它是我第一篇文章中的std :: vector) – 2010-06-17 09:41:30