typedef std::map<std::string, float> StringFloatMap;
StringFloatMap col1;
StringFloatMap::iterator pos;
...
//remove all element having a certain value
for(pos=col1.begin(); pos != col1.end();){
}
注意:pos++会将pos移向下一元素,但返回其原始值(指向原位置)的一个副本。因为,当erase()被调用,pos已经不再指向那个即将被移除的元素。
本文介绍如何使用C++ STL中的map容器及其迭代器,重点讲解了如何遍历并删除具有特定值的所有元素的方法。通过具体示例代码展示了正确的迭代器递增方式,避免了常见的陷阱。

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



