例子:
1 #include <iostream> 2 #include <map> 3 using namespace std; 4 5 int main() 6 { 7 map<int, int> test_map; 8 9 test_map[1] = 1; 10 11 test_map[2] = 2; 12 13 test_map[3] = 3; 14 15 test_map[4] = 4; 16 17 for(std::map<int, int>::iterator iter = test_map.begin();iter != test_map.end()) 18 { 19 map<int, HANDLE>::iterator it_NeedDel = iter;//备份迭代器。因为删除操作后,迭代器指向空,要备份。 20 if(iter.fisrt==1) 21 { 22 iter++; 23 test_map.erase(it_NeedDel); 24 } 25 }