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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
