<分区>
我可以在调用 multimap::erase() 之后继续使用 multimap 迭代器吗?例如:
Blah::iterator iter;
for ( iter = mm.begin();
iter != mm.end();
iter ++ )
{
if ( iter->second == something )
{
mm.erase( iter );
}
}
这是否应该正确运行,或者迭代器是否在调用删除后失效?引用网站,如 http://www.cplusplus.com/reference/stl/multimap/erase.html在迭代器的生命周期或构造性/破坏性方法对迭代器的影响这个话题上出奇地安静。