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
广告