首页 > 编程语言 > 详细

C++ unordered_map remove 实现哈希表移除

时间:2015-10-12 14:05:06      阅读:270      评论:0      收藏:0      [点我收藏+]

 

使用C++的unordered_map类型时,我们经常要根据关键字查找,并移除一组映射,在Java中直接用remove即可,而STL中居然没有实现remove这个函数,还要自己写循环来查找要删除项,然后用erase来清除,我也是醉了,参见下面代码:

 

vector<A*> v1;
// remove A *a1
for (vector<A*>::iterator it = v1.begin(); it != v1.end(); ++it) {
    if (*it == a1) v1.erase(it);
}

unordered_map<int, B*> m;
// remove B *b1
for (unordered_map<int, B*>::iterator it = m.begin(); it != m.end(); ++it) {
    if (it->second == b1) m.erase(it);
}

 

再加上之前那篇博客C++ Split string into vector<string> by space里面提到的C++的STL也没有实现split函数,如此这般,我感觉改攻Java很有必要啊~~

C++ unordered_map remove 实现哈希表移除

原文:http://www.cnblogs.com/grandyang/p/4871307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!