-
// vector删除指定元素
vector<int>::iterator iter = arr.begin();
while (true)
{
if (iter == arr.end()) break;
if (*iter == 10)
{
iter = arr.erase(iter); //迭代器删除之后会往前移动,这个时候返回新的位置
continue;
}
++iter;
}
// map删除指定元素方法
map<int, int>::iterator iter = m.begin();
for (; iter != m.end();)
{
if (iter->second == 1)
{
iter = m.erase(iter);
//或者: m.erase(iter++);
}
else
{
++iter;
}
}