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