C++ map 删除元素:使用 erase 函数详解
在 C++ 中,你可以使用 std::map 的 erase 函数来删除 map 中的元素。erase 函数有多种用法,取决于你要删除的元素的类型。
-
删除指定键的元素:
std::map<int, std::string> myMap; myMap[1] = 'One'; myMap[2] = 'Two'; myMap[3] = 'Three'; myMap.erase(2); // 删除键为2的元素 -
删除指定迭代器的元素:
std::map<int, std::string> myMap; myMap[1] = 'One'; myMap[2] = 'Two'; myMap[3] = 'Three'; auto it = myMap.find(2); if (it != myMap.end()) { myMap.erase(it); // 删除迭代器指向的元素 } -
删除指定范围内的元素:
std::map<int, std::string> myMap; myMap[1] = 'One'; myMap[2] = 'Two'; myMap[3] = 'Three'; auto start = myMap.find(1); auto end = myMap.find(3); if (start != myMap.end() && end != myMap.end()) { myMap.erase(start, end); // 删除[start, end)范围内的元素 }
请注意,删除元素可能会导致 map 的大小和迭代器失效,因此在删除元素后,要小心处理相关代码。
原文地址: https://www.cveoy.top/t/topic/brn6 著作权归作者所有。请勿转载和采集!