C++ Unordered_multimap::size() 函式



C++ 的std::unordered_multimap::size()函式用於返回無序多對映中存在的元素數量。如果無序多對映不包含任何元素,則size()函式返回0。

語法

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

size_type size() const noexcept;

引數

此函式不接受任何引數。

返回值

此函式返回無序多對映容器中實際存在的元素數量。

示例 1

在下面的示例中,讓我們看看unordered_multimap::size()函式的用法。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> umm;
   cout << "Initial size of unordered multimap = " << umm.size() << endl;
   umm = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'c', 3},
      {'d', 4}
   };
   cout << "Size of unordered multimap after inserting elements = " << umm.size() << endl;
   return 0;
}

輸出

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

Initial size of unordered multimap = 0
Size of unordered multimap after inserting elements = 6

示例 2

考慮以下示例,我們將使用size()函式來獲取當前多對映中存在的元素數量。

#include <unordered_map>
#include <iostream>
using namespace std;
int main() { 
   unordered_multimap<int,int> numms {{1, 10}, {3, 30}, {5, 50}, {3, 300}, {5, 500}, {7, 70}};
   cout << "numms contains " << numms.size() << " elements.\n";
}

輸出

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

numms contains 6 elements.

示例 3

讓我們來看下面的示例,我們將查詢具有關聯值的偶數鍵,然後將它們儲存在另一個容器中,之後使用多對映計算元素總數。

#include <unordered_map>
#include <iostream>
using namespace std;
int main() { 
   unordered_multimap <int,int> umm {{1, 5}, {2, 30}, {3, 50}, {2, 300}, {4, 70}, {4, 400}, {5, 10}, {6, 20}};
   unordered_multimap <int,int> numms;
   for(auto & it:umm){
      if(it.first % 2 == 0){
         numms.insert({it.first, it.second});
      }
   }
   cout<<"total even key in numms unordered_multimap: "<<numms.size()<<endl;
   return 0;
}

輸出

上述程式碼的輸出如下:

total even key in numms unordered_multimap: 5
廣告