21xrx.com
2025-04-03 20:07:09 Thursday
文章检索 我的文章 写文章
如何清空C++ Map?
2023-07-09 18:18:24 深夜i     23     0
C++ Map 清空 erase clear 迭代器

C++中的Map是一种关联式容器,它将键值对映射到一个关联数组中。当我们不再需要存储在Map中的键值对时,需要将其清空以释放内存。那么,如何清空C++ Map呢?下面是一些方法供参考。

方法一:使用clear()

最简单的方法是使用Map类的clear()函数。使用该函数将会清空整个Map结构,将所有键值对删除。

示例代码:

#include <iostream>
#include <map>
using namespace std;
int main() {
  map<string, int> myMap;
  myMap.insert("A");
  myMap.insert( 2);
  myMap.insert("C");
  myMap.clear(); //清空地图
  return 0;
}

方法二:使用erase()

另一种常见的方法是使用Map中的erase()函数。使用这种方法,可以选择清空Map中的部分内容,而不是整个Map。

示例代码:

#include <iostream>
#include <map>
using namespace std;
int main() {
  map<string, int> myMap;
  myMap.insert("A");
  myMap.insert("B");
  myMap.insert("C");
  myMap.erase(myMap.begin(), myMap.end()); //清空整个Map
  return 0;
}

使用erase()函数还可以清空Map中指定的键值对。

示例代码:

#include <iostream>
#include <map>
using namespace std;
int main() {
  map<string, int> myMap;
  myMap.insert("A");
  myMap.insert("B");
  myMap.insert( 3);
  myMap.erase("B"); //删除键为B的元素
  return 0;
}

无论使用哪种方法清空Map,在处理大量数据时可以大大减少内存占用和提高程序效率,建议使用。

  
  

评论区