C++遍历map删除特定的元素

avatar
作者
筋斗云
阅读量:0

在C++中,可以使用迭代器来遍历map,并在遍历过程中删除特定的元素。下面是一个示例代码:

#include <iostream> #include <map>  int main() {     std::map<int, std::string> myMap;     myMap[1] = "One";     myMap[2] = "Two";     myMap[3] = "Three";     myMap[4] = "Four";      // 遍历map并删除特定的元素     for(auto it = myMap.begin(); it != myMap.end(); ) {         if(it->second == "Two") {             it = myMap.erase(it);         } else {             ++it;         }     }      // 输出剩余的元素     for(auto const& pair : myMap) {         std::cout << pair.first << ": " << pair.second << std::endl;     }      return 0; } 

上述代码创建了一个包含四个元素的map。然后,使用迭代器遍历map,并在遍历过程中删除值为"Two"的元素。最后,输出剩余的元素。输出结果如下:

1: One 3: Three 4: Four 

在遍历过程中删除元素时,需要注意的是,删除元素后迭代器会失效,必须使用返回的新迭代器继续遍历。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!