C++ Unordered_multimap::size() 函数



C++ 的std::unordered_multimap::size()函数用于返回无序多映射中存在的元素数量。如果无序多映射不包含任何元素,则size()函数返回0。

语法

以下是std::unordered_multimap::size()函数的语法。

size_type size() const noexcept;

参数

此函数不接受任何参数。

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

返回值

此函数返回无序多映射容器中实际存在的元素数量。

示例 1

在下面的示例中,让我们看看unordered_multimap::size()函数的用法。

Open Compiler
#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()函数来获取当前多映射中存在的元素数量。

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

让我们来看下面的示例,我们将查找具有关联值的偶数键,然后将它们存储在另一个容器中,之后使用多映射计算元素总数。

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