std::map 循环清空
时间: 2024-04-27 18:17:48 浏览: 79
std::map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。如果你想要循环清空一个std::map,可以使用迭代器来遍历并删除其中的元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap = "apple";
myMap = "banana";
myMap = "orange";
// 使用迭代器遍历并删除元素
for (auto it = myMap.begin(); it != myMap.end(); ) {
it = myMap.erase(it);
}
// 输出map是否为空
if (myMap.empty()) {
std::cout << "Map is empty." << std::endl;
} else {
std::cout << "Map is not empty." << std::endl;
}
return 0;
}
```
在上述代码中,我们首先创建了一个std::map对象myMap,并向其中插入了三个键值对。然后,我们使用迭代器进行循环遍历,并调用erase函数删除每个元素。需要注意的是,在调用erase函数后,迭代器会自动指向下一个元素,因此不需要手动递增迭代器。最后,我们通过empty函数检查map是否为空。
阅读全文