在C++ STL中的unordered_map中使用clear()函数
unordered_map::clear() 函数用于从容器中删除所有元素。当将此函数应用于unordered_map时,其大小变为零。
语法:
unordered_map_name.clear()
参数:此函数不接受任何参数
返回类型:此函数不返回任何内容。
例子:
输入: ump = { {1, 2}, {3, 4}, {5, 6}, {7, 8}}
ump.clear();
输出: ump = { };
// CPP程序,演示unordered_map clear()函数的实现
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 取出任意两个unordered_map
unordered_map<int, int> ump1, ump2;
// 插入值
ump1[1] = 2;
ump1[3] = 4;
ump1[5] = 6;
ump1[7] = 8;
// 输出容器的大小
cout << "在调用clear函数之前的unordered_map size: \n";
cout << "ump1 size = " << ump1.size() << endl;
cout << "ump2 size = " << ump2.size() << endl;
// 删除元素
ump1.clear();
ump2.clear();
// 输出容器的大小
cout << "在调用clear函数之后的unordered_map size: \n";
cout << "ump1 size = " << ump1.size() << endl;
cout << "ump2 size = " << ump2.size() << endl;
return 0;
}
在调用clear函数之前的unordered_map size:
ump1 size = 4
ump2 size = 0
在调用clear函数之后的unordered_map size:
ump1 size = 0
ump2 size = 0
应用场景
当我们希望删除旧元素并从头开始,特别是在循环中时,可以使用clear函数。尽管我们可以通过创建新的map来实现相同的功能,但性能方面,清除同一map要更好,因为我们不需要创建新的对象。