C++98 中 std::map 删除元素 - 使用迭代器实现
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 函数删除元素。这是一种简单而有效的删除元素的方法。
原文地址: https://www.cveoy.top/t/topic/g8yr 著作权归作者所有。请勿转载和采集!