C++ unordered_map::empty() 函数



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

语法

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

unordered_map.empty();

参数

此函数不接受任何参数。

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

返回值

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

示例1

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

Open Compiler
#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()函数。

Open Compiler
#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的元素,否则显示一条语句。

Open Compiler
#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
广告