linux c++ static stdmapstdstring int compress_task; 遍历删除怎么实现
要遍历并删除compress_task中的元素,可以使用迭代器来实现。以下是一个示例代码:
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> compress_task;
compress_task["task1"] = 1;
compress_task["task2"] = 2;
compress_task["task3"] = 3;
// 遍历并删除元素
for (auto it = compress_task.begin(); it != compress_task.end();) {
if (it->second == 2) {
it = compress_task.erase(it);
} else {
++it;
}
}
// 输出剩余元素
for (const auto& pair : compress_task) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
在上述示例中,我们首先创建了一个compress_task的std::map对象,并添加了一些元素。然后,我们使用迭代器遍历compress_task,如果某个元素的值等于2,则使用erase()函数删除该元素,并将迭代器指向下一个元素。否则,我们只是递增迭代器。最后,我们输出剩余的元素。
原文地址: https://www.cveoy.top/t/topic/jc8m 著作权归作者所有。请勿转载和采集!