使用C++的unordered_map类型时,我们经常要根据关键字查找,并移除一组映射,在Java中直接用remove即可,而STL中居然没有实现remove这个函数,还要自己写循环来查找要删除项,然后用erase来清除,我也是醉了,参见下面代码:
vector v1;// remove A *a1for (vector ::iterator it = v1.begin(); it != v1.end(); ++it) { if (*it == a1) v1.erase(it);}unordered_mapm;// remove B *b1for (unordered_map ::iterator it = m.begin(); it != m.end(); ++it) { if (it->second == b1) m.erase(it);}
本文转自博客园Grandyang的博客,原文链接:,如需转载请自行联系原博主。