C++98 中 std::map 删除元素 - 使用迭代器实现

在 C++98 标准中,可以通过使用迭代器来删除 std::map 中的元素。以下是一个使用 C++98 标准实现的示例代码,演示了如何删除 std::map 中的元素:

#include <iostream>
#include <map>
#include <string>

int main() {
    std::map<std::string, int> map_absFilena;
    
    // 添加示例元素
    map_absFilena['file1.txt'] = 1;
    map_absFilena['file2.txt'] = 2;
    map_absFilena['file3.txt'] = 3;
    
    // 打印删除前的 map
    std::cout << "Before deletion:" << std::endl;
    for (std::map<std::string, int>::iterator it = map_absFilena.begin(); it != map_absFilena.end(); ++it) {
        std::cout << it->first << ": " << it->second << std::endl;
    }
    
    // 删除元素
    std::map<std::string, int>::iterator it = map_absFilena.find('file2.txt');
    if (it != map_absFilena.end()) {
        map_absFilena.erase(it);
    }
    
    // 打印删除后的 map
    std::cout << "After deletion:" << std::endl;
    for (std::map<std::string, int>::iterator it = map_absFilena.begin(); it != map_absFilena.end(); ++it) {
        std::cout << it->first << ": " << it->second << std::endl;
    }
    
    return 0;
}

输出:

Before deletion:
file1.txt: 1
file2.txt: 2
file3.txt: 3
After deletion:
file1.txt: 1
file3.txt: 3

在上面的示例中,我们首先添加了一些示例元素到 std::map 中。然后,我们使用 find 函数查找要删除的元素,如果找到了对应的元素,就使用 erase 函数删除该元素。最后,我们使用迭代器遍历并打印删除后的 std::map。

总结

使用迭代器删除 std::map 中的元素是一个常见的操作。在 C++98 中,可以使用 find 函数查找元素并使用 erase 函数删除元素。这是一种简单而有效的删除元素的方法。

C++98 中 std::map 删除元素 - 使用迭代器实现

原文地址: https://www.cveoy.top/t/topic/g8yr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录