unordered_multiset的reserve()函数将容器中的存储桶数(bucket_count)设置为最适合包含至少n个元素的存储桶数。
如果n大于当前的bucket_count乘以max_load_factor,则该容器的bucket_count会增加,并强制进行重新哈希处理。
如果n小于该值,则该函数可能无效。
用法:
void reserve( size_type n );
其中size_type是无符号整数类型。
参数:此方法接受强制性参数n,该参数是请求的最小容量元素数。
返回值:它不返回任何值。
下面是说明reserve()方法的程序:
示例1:
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<int> j;
// container invoked
// it reverse the values
j.reserve(5);
// set the values of the container
j.insert(5);
j.insert(6);
j.insert(7);
cout << "The values in unordered_multiset :";
for (const int& x : j)
cout << " " << x;
return 0;
}
输出:
The values in unordered_multiset : 7 6 5
示例2:
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<string> j;
// container invoked
// it reverse the values
j.reserve(5);
// set the values of the container
j.insert("Geeks");
j.insert("forGeeks");
j.insert("GeeksforGeeks");
cout << "The values in unordered_multiset :";
for (const string& x : j)
cout << " " << x;
return 0;
}
输出:
The values in unordered_multiset : GeeksforGeeks forGeeks Geeks
相关用法
- C++ unordered_map reserve()用法及代码示例
- C++ unordered_multimap reserve()用法及代码示例
- C++ unordered_set reserve()用法及代码示例
注:本文由纯净天空筛选整理自SoumikMondal大神的英文原创作品 unordered_multiset reserve() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。