废话不多说,直接上代码:
map<int,int>test;
for (int i=1;i<10;i++)
{
test.insert(make_pair(i,i));
}
map<int,int>::const_iterator mit = test.begin();
for (;mit!=test.end();)
{
map<int,int>::const_iterator mit_back = mit;
if (mit_back!=test.end())
{
++mit_back;
}
if ((mit->first == 1) || (mit->first == 2) || (mit->first == 9))
{
test.erase(mit);
mit = mit_back;
if (mit_back!=test.end())
{
++mit_back;
}
}else
{
++mit;
}
}

这段代码展示了如何在C++中使用`std::map`存储整数对,并通过迭代器进行遍历及删除特定元素(如1, 2, 9)。在循环中,代码首先创建了一个迭代器`mit`,然后创建了一个`mit_back`用于保存当前迭代器的前一个位置。如果当前元素的键是1, 2或9,则从映射中删除该元素并更新迭代器。
1371

被折叠的 条评论
为什么被折叠?



