C++ unordered_multimap::empty() 函式



C++ 的std::unordered_multimap::empty() 函式用於檢查 unordered_multimap 是否為空。如果 unordered_multimap 為空,則返回 true;否則返回 false。此函式不會以任何方式修改或更改容器的內容。

語法

以下是 std::unordered_multimap::empty() 函式的語法。

bool empty() const noexcept;

引數

此函式不接受任何引數。

返回值

此函式返回布林值,即如果 unordered_multimap 為空(大小為零),則返回 true,否則返回 false。

示例 1

讓我們看下面的例子,我們將演示 unordered_multimap::empty() 函式的使用。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> umm;
   if (umm.empty())
      cout << "Unordered multimap is empty." << endl;
   umm.emplace_hint(umm.begin(), 'a', 1);
   umm.emplace_hint(umm.end(), 'b', 2);
   if (!umm.empty())
      cout << "Unordered multimap is not empty." << endl;
   return 0;
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Unordered multimap is empty.
Unordered multimap is not empty.

示例 2

考慮下面的例子,我們將使用 empty() 函式來檢查 unordered_multimap 是否包含任何元素。

#include <unordered_map>
#include <iostream>
#include <utility>
using namespace std; 
int main() {
   unordered_multimap<int, int> numbers;
   cout << boolalpha;
   cout << "Initially, numbers.empty(): " << numbers.empty() << '\n';
 
   numbers.emplace(55, 110);
   numbers.insert(make_pair(12345, 115)); 
   cout << "After adding elements, numbers.empty(): " << numbers.empty() << '\n';
}

輸出

如果我們執行上述程式碼,它將生成以下輸出:

Initially, numbers.empty(): true
After adding elements, numbers.empty(): false

示例 3

在下面的示例中,我們將使用 empty() 函式,如果容器不為空,則顯示容器中的所有元素。

#include <unordered_map>
#include <iostream>
#include <utility>
using namespace std; 
int main() {
   unordered_multimap<string, int> marks_of_students;
   marks_of_students.insert(make_pair("Aman", 100));
   marks_of_students.insert(make_pair("Akash", 95));
   marks_of_students.insert({{"Vivek", 98},{"Aman", 92},{"Akash", 97},{"Rahul", 96}});
   
   for(auto & it: marks_of_students){
      if(marks_of_students.empty()){
         cout<<"marks of students are empty, I can't be able to fetch the data!"<<endl;
      }
      else{
         cout<<"Marks of "<<it.first<<" is "<<it.second<<endl;
      }
   }
   cout<<endl;
   return 0;
}

輸出

以下是上述程式碼的輸出:

Marks of Rahul is 96
Marks of Vivek is 98
Marks of Akash is 97
Marks of Akash is 95
Marks of Aman is 92
Marks of Aman is 100
廣告