摘要: 题目:已知map m,要求删除其中值大于10的元素。 这里关键之一是遍历,二是删除。 代码如下: void mapOpt(map *m) { map::iterator it; it = m->begin(); while(it != m->end()){ if (it->second > 10) { m->erase(it++); } else { it++; } } } 这里一定要注意,迭代器失效问题。如果用for(it = m->begin(); it != m->end(); ++it),然后调用m->erase(it)。那就错了。这样删 阅读全文
posted @ 2014-02-23 16:12 王程根的技术博客 阅读(1168) 评论(0) 推荐(0) 编辑