摘要:
题目:已知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)。那就错了。这样删 阅读全文