C++ unordered_multimap::clear() 函数



C++ 的std::unordered_multimap::clear()函数用于通过删除所有元素并设置 unordered_multimap 的大小为零来销毁或丢弃 unordered_multimap。

从 unordered_multimap 中删除所有元素后,我们可以使用 insert() 和 emplace() 函数将新元素添加到同一个 unordered_multimap 中。

语法

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

void clear() noexcept;

参数

此函数不接受任何参数。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

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

示例 1

在以下示例中,让我们看看 clear() 函数的使用方法。

Open Compiler
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_multimap<char, int> umm = { {'a', 1}, {'b', 2}, {'c', 3}, {'b', 2}, {'c', 3}, {'d', 4}, }; cout << "Initial size of unordered multimap = " << umm.size() << endl; umm.clear(); cout << "Size of unordered multimap after use of clear() function = " << umm.size() << endl; return 0; }

输出

让我们编译并运行上述程序,这将产生以下结果:

Initial size of unordered multimap = 5
Size of unordered multimap after clear operaion = 0

示例 2

考虑以下示例,我们将在此示例中在执行 clear() 函数后将元素添加到映射中。

Open Compiler
#include <iostream> #include <string> #include <unordered_map> using namespace std; int main () { unordered_multimap<string,string> ummap = { {"Aman","Kumar"}, {"Vivek","Verma"}, {"Jhon","Satya"} }; cout << "ummap contains:"; for (auto& x: ummap)cout << " " << x.first << "=" << x.second; cout << endl; //removing all the element from the map. ummap.clear(); //adding two element from the map ummap.insert({"tutorialspoint", "Noida"}); ummap.insert({"tutorialspoint","Hyderabad"}); cout << "ummap contains:"; for (auto& x: ummap) cout << " " << x.first << "=" << x.second; cout << endl; return 0; }

输出

如果我们运行上述代码,它将生成以下输出:

ummap contains: Vivek=Verma Jhon=Satya Aman=Kumar
ummap contains: tutorialspoint=Hyderabad tutorialspoint=Noida

示例 3

让我们看一下以下示例,我们将在此示例中稍后显示 unordered_multimap 的元素,应用 clear() 函数并显示 unordered_multimap 的大小。

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

输出

以下是上述代码的输出:

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

示例 4

以下是一个示例,我们将使用两个 unordered_multimap,一个存储项目,另一个存储从第一个过滤偶数键后获得的项目,稍后我们应用 clear() 函数并显示在之前和之后的尺寸。

Open Compiler
#include <string> #include <iostream> #include <unordered_map> using namespace std; int main () { unordered_multimap<int, string> uMmap, umm; uMmap.insert({1, "tutorialspoint"}); uMmap.insert({1, "tutorialspoint"}); uMmap.insert({2, "Hyderabad India"}); uMmap.insert({3, "Tutorix"}); uMmap.insert({4, "Noida India"}); cout<<"Umm Before use of clear() functon"<<endl; for (auto& x: uMmap){ if(x.first % 2 != 0){ umm.insert({x.first, x.second}); } } for(auto& x: umm){ cout<<x.first<<" : "<<x.second<<endl; } cout<<"size of umm before use of clear function: "<<endl; cout <<umm.size()<<endl; cout<<"size of umm after use of clear() function \n"; // umm.clear(); umm.clear(); cout<<umm.size()<<endl; return 0; }

输出

上述代码的输出如下:

Umm Before use of clear() functon
1 : tutorialspoint
1 : tutorialspoint
3 : Tutorix
size of umm before use of clear function: 
3
size of umm after use of clear() function 
0
广告