C++ Unordered_map Library - unordered_map() Function


The C++ function std::unordered_map::unordered_map() constructs an empty unordered_map with zero elements.


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


explicit unordered_map(size_type n = /* implementation defined */,
                       const hasher& hf = hasher(),
                       const key_equal& eql = key_equal(),
                       const allocator_type& alloc = allocator_type()


  • n − Maximum number of initial buckets.

  • hf − Hash function to use.

  • eql − Comparision function object that returns true if provided two container objects are to be considered equal.

  • alloc − Allocator to use for all memory allocations of this container.

Return value

Constructor never returns value.

Time complexity

Constant i.e. O(1)


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

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um;

   cout << "Size of unordered_map = " << um.size() << endl;

   return 0;

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

Size of unordered_map = 0