C++ Unordered_map Library - operator[] Function



Description

The C++ function std::unordered_map::operator[] if key k matches an element in the container, then method returns a reference to the element.

Declaration

Following is the declaration for std::unordered_map::operator[] function form std::unordered_map header.

C++11

mapped_type& operator[](key_type&& k);

Parameters

k − Key of the element whose mapped value is accessed.

Return value

Returns a reference to the element associated with key k.

Time complexity

Constant i.e. O(1) in average case.

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

Example

The following example shows the usage of std::unordered_map::operator[] function.

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5}
            };

   cout << "Unordered map contains following elements: " << endl;

   cout << "um['a'] = " << move(um['a']) << endl;
   cout << "um['b'] = " << move(um['b']) << endl;
   cout << "um['c'] = " << move(um['c']) << endl;
   cout << "um['d'] = " << move(um['d']) << endl;
   cout << "um['e'] = " << move(um['e']) << endl;

   return 0;
}

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

Unordered map contains following elements: 
um['a'] = 1
um['b'] = 2
um['c'] = 3
um['d'] = 4
um['e'] = 5
unordered_map.htm
Advertisements