📜  C++ STL中的map :: clear()(1)

📅  最后修改于: 2023-12-03 14:59:46.539000             🧑  作者: Mango

C++ STL中的map::clear()
简介

在 C++ STL 中,map 是一个关联式容器,它提供了一种通过 key-value 对进行映射查找的能力。map 中的每个元素都是一个 pair 对象,包含一个键和一个值。map 提供了许多与键值对有关的操作,比如插入、查找、删除等。而 clear() 函数是 map 中的一个成员函数,它可以用来清空 map 中所有的键值对。

函数原型

下面是 map::clear() 函数的函数原型:

void clear();

该函数没有任何参数,返回值为 void,它的作用是清空 map 容器中的所有键值对,将容器的 size 变为 0。

使用方法

使用 clear() 函数很简单,只需将 map 容器对象调用该函数即可。示例代码如下:

#include <iostream>
#include <map>

using namespace std;

int main()
{
    map<int, string> m;
    m.insert(make_pair(1, "apple"));
    m.insert(make_pair(2, "banana"));
    m.insert(make_pair(3, "orange"));

    cout << "map size before clear(): " << m.size() << endl;

    m.clear();

    cout << "map size after clear(): " << m.size() << endl;

    return 0;
}

代码输出如下:

map size before clear(): 3
map size after clear(): 0

上面的代码中,我们首先定义了一个名为 m 的空 map 容器,然后使用 insert() 函数向该容器中插入三个键值对。接着,我们打印了 map 容器的大小,使用 clear() 函数清空了容器,并再次打印了容器的大小。可以看到,清空后容器的大小为 0。

注意事项

由于 clear() 函数会将 map 容器中的所有键值对全部清空,所以在使用该函数时需要注意以下几点:

  • clear() 函数会删除 map 容器中的所有键值对,所以在调用该函数前需要确认是否需要保留某些键值对。
  • clear() 函数并不释放 map 容器所占用的内存空间,如果需要释放内存空间,可以使用 map<int, string>().swap(m) 这种方式来释放内存。
  • 在清空 map 容器后,需要重新插入键值对才能取出 map 容器中的值。
总结

clear() 函数是 C++ STL 中 map 容器的一个成员函数,用于清空 map 容器中的所有键值对。使用时需要注意 clear() 函数的注意事项,以免出现意外情况。