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
广告
© . All rights reserved.