map删除value等于某值的元素
#include #include #include #include #include using namespace std; void show(std::map& map) { for(std::map::iterator it=map.begin(); it != map.end(); ++it) { printf("it->first=%d, it->second=%d\n", it->first, it->second); } } int main() { std::map map; map.insert(std::make_pair(1, 5)); map.insert(std::make_pair(2, 115)); map.insert(std::make_pair(3, 6)); map.insert(std::make_pair(4, 39)); map.insert(std::make_pair(5, 7)); printf("before remove:\n"); show(map); printf("\n"); std::map::iterator tmp; for(std::map::iterator it=map.begin(); it != map.end(); ) { if(it->second > 10) { map.erase(it++); } else { ++it; } } printf("after remove:\n"); show(map); printf("\n"); }
这样就删除了map中value的值大于10的所有元素
本文来源 我爱IT技术网 http://www.52ij.com/jishu/4162.html 转载请保留链接。