阅读量:139
要删除map中指定的key值元素,可以使用map的erase函数来实现。具体的操作步骤如下:
- 使用map的find函数查找要删除的key值对应的迭代器。
- 判断查找结果是否等于map.end(),如果等于表示没有找到对应的key值,无法删除。
- 如果找到了对应的key值,使用map的erase函数删除该元素。
示例代码如下:
#include
#include
int main() {
std::map<int, std::string> myMap;
myMap[1] = "apple";
myMap[2] = "banana";
myMap[3] = "orange";
int keyToDelete = 2;
auto it = myMap.find(keyToDelete);
if (it != myMap.end()) {
myMap.erase(it);
std::cout << "Element with key " << keyToDelete class="hljs-string">" deleted" << std class="hljs-keyword">else {
std::cout << "Element with key " << keyToDelete class="hljs-string">" not found" << std class="hljs-comment">// Output the remaining elements in the map
for (auto const& pair : myMap) {
std::cout << pair class="hljs-string">": " << pair class="hljs-keyword">return 0;
}
上面的代码会输出以下结果:
Element with key 2 deleted
1: apple
3: orange
这样就成功删除了map中key值为2的元素。