The C++ function std::unordered_map::operator[] if key k matches an element in the container, then method returns a reference to the element.
Following is the declaration for std::unordered_map::operator[] function form std::unordered_map header.
mapped_type& operator[](key_type&& k);
k − Key of the element whose mapped value is accessed.
Returns a reference to the element associated with key k.
Constant i.e. O(1) in average case.
Linear i.e. O(n) in worst case.
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