C++ unordered_map::clear() 函数



C++ 的unordered_map::clear()函数用于销毁或清空unordered_map容器,方法是移除所有元素并将unordered_map的大小设置为零。

即使从unordered_map中移除了所有元素,我们也可以使用[]运算符向同一个unordered_map添加新元素。例如:unordered_map[1] = "tutorialspoint";

语法

以下是unordered_map::clear()函数的语法。

unordered_map.clear();

参数

此函数不接受任何参数。

返回值

此函数不返回任何值,因为使用clear()函数后unordered_map的大小为零。

示例1

在下面的示例中,让我们演示clear()函数的使用,如下所示

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_map<char, int> um = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'e', 5}
   };
   cout << "Initial size of unordered map = " << um.size() << endl;
   um.clear();
   cout << "Size of unordered map after clear operation = " << um.size() << endl;
   return 0;
}

输出

以上代码的输出如下:

Initial size of unordered map = 5
Size of unordered map after clear operation = 0

示例2

下面的示例中,我们使用clear()函数清空unordered_map,然后向同一个unordered_map添加两个元素,如下所示

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main () {
   unordered_map<string,string> Umap = { {"Aman","Kumar"}, {"Vivek","Verma"}, {"Jhon","Satya"} };

   cout << "mymap contains:";
   for (auto& x: Umap)cout << " " << x.first << "=" << x.second;
   cout << endl;
    
   //removing all the element from the map.
   Umap.clear();
    
   //adding two element from the map
   Umap["TutorialsPoint"]="Tutorix";
   Umap["Location"]="Hyderabad";
   cout << "mymap contains:";
   for (auto& x: Umap) cout << " " << x.first << "=" << x.second;
      cout << endl;
   return 0;
}

输出

执行后,我们得到以下输出:

mymap contains: Jhon=Satya Vivek=Verma Aman=Kumar
mymap contains: Location=Hyderabad TutorialsPoint=Tutorix

示例3

让我们看看下面的例子,我们显示使用clear()函数之前unordered_map的元素,然后显示unordered_map的大小,如下所示

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main () {
   unordered_map<int, string> Umap;
   Umap[1] = "tutorialspoint";
   Umap[2] = "Hyderabad India";
   Umap[3] = "Tutorix";
   Umap[4] = "Noida India";
   cout<<"Before use of clear() functon";
   for (auto& x: Umap) cout << "\n" << x.first << "=" << x.second;
      cout << endl;
    
   Umap.clear();
   cout<<"After use of clear() function \n";
   cout <<Umap.size();
   return 0;
}

输出

以上代码的输出如下:

Before use of clear() functon
4=Noida India
3=Tutorix
2=Hyderabad India
1=tutorialspoint
After use of clear() function 
0
广告