C++ unordered_map::empty() 函数



C++ 的unordered_map::empty()函数用于检查unordered_map是否为空。如果map的大小为零,则返回布尔值true;否则返回false,因为大小为零的unordered_map被认为是空的。

语法

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

unordered_map.empty();

参数

此函数不接受任何参数。

返回值

此函数返回布尔值,如果map为空则返回true;否则返回false。

示例1

考虑以下示例,我们将演示empty()函数的用法。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void){
   unordered_map<char, int> um;
   if (um.empty())
      cout << "Unordered map is empty" << endl;
   um.emplace('a', 1);
   if (!um.empty())
      cout << "Unordered map is not empty" << endl;
   return 0;
}

输出

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

Unordered map is empty
Unordered map is not empty

示例2

在下面的示例中,我们将声明两个unordered_map,一个包含元素,另一个为空,并应用empty()函数。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void){
   unordered_map<int, string> UnorderMap1, UnorderMap2;
   UnorderMap1[1] = "Tutorials";
   UnorderMap1[2] = "Points";
   UnorderMap1[3] = "Tutorix";
   if(UnorderMap1.empty())
      cout<<"true"<<endl;
   else
      cout<<"false"<<endl;
   if(UnorderMap2.empty())
      cout<<"true"<<endl;
   else
      cout<<"false"<<endl;
   return 0;
}

输出

以下是上述代码的输出:

false
true

示例3

让我们看看下面的示例,如果map不为空,我们将使用迭代器显示map的元素,否则显示一条语句。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void){
   unordered_map<int, string> UnorderMap1, UnorderMap2;
   UnorderMap1[1] = "Tutorials";
   UnorderMap1[2] = "Points";
   UnorderMap1[3] = "Tutorix";
   if(!UnorderMap1.empty())
      for (auto it = UnorderMap1.begin(); it != UnorderMap1.end(); ++it)
         cout<<it->first<<" = "<<it->second<<endl;
   else
      cout<<"Unordered map1 is empty\n";
   if(UnorderMap2.empty())
      cout<<"Unordered Map2 is empty\n";
   else
      for (auto it = UnorderMap1.begin(); it != UnorderMap1.end(); ++it)
         cout<<it->first<<" = "<<it->second<<endl;
   return 0;
}

输出

上述代码的输出如下:

3 = Tutorix
2 = Points
1 = Tutorials
Unordered Map2 is empty
广告