C++ Unordered_multimap Library - rehash() Function


The C++ function std::unordered_multimap::rehash() sets the number of buckets in the container to n or more.

If n is greater than the current number of buckets in the container, a rehash is forced. The new bucket count can either be equal or greater than n.

If n is lower than the current number of buckets in the container, the function may have no effect on the bucket count and may not force a rehash.


Following is the declaration for std::unordered_multimap::rehash() function form std::unordered_map() header.


void rehash(size_type n);


n − New number of buckets

Return value


Time complexity

Linear i.e. O(n) in average case.

Quadratic i.e. O(n2) in worst case.


The following example shows the usage of std::unordered_multimap::rehash() function.

#include <iostream>
#include <unordered_map>

using namespace std;

int main (void) {
   unordered_multimap<char, int> umm;

   cout << "Initial bucket_count: " << umm.bucket_count() << endl;


   cout << "Current bucket_count: " << umm.bucket_count() << endl;

   return 0;

Let us compile and run the above program, this will produce the following result −

Initial bucket_count: 11
Current bucket_count: 23
Kickstart Your Career

Get certified by completing the course

Get Started