Last Updated : 14 Dec, 2018
The
std::unordered_map::operator[]is a built in function in C++ STL which returns the reference of value if key matches in the container. If no key is found then it inserts that key into container.
Syntax:mapped_type& operator[](key_type&& k);Parameter:
It takes parameter as key whose mapped value is accessed.
Return type:Returns a reference associated to that key.
Example 1 CPP
// C++ code to illustrate the method
// unordered_map operator[]
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map<int, int> sample;
// Map initialization
sample = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
// print element before doing
// any operations
for (auto& it : sample)
cout << it.first << " : " << it.second << endl;
// existing element is read
int m = sample[1];
// existing element is written
sample[3] = m;
// existing elements are accessed
sample[5] = sample[1];
// non existing element
// new element 25 will be inserted
m = sample[25];
// new element 10 will be inserted
sample[5] = sample[10];
// print element after doing
// operations
for (auto& it : sample)
cout << it.first << " : " << it.second << endl;
return 0;
}
Output:
5 : 6 3 : 4 1 : 2 10 : 0 1 : 2 5 : 0 3 : 2 25 : 0Example 2 CPP
// C++ code to illustrate the method
// unordered_map operator[]
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map<char, int> sample;
// Map initialization
sample = { { 'a', 2 }, { 'b', 4 }, { 'c', 6 } };
// print element before doing
// any operations
for (auto& it : sample)
cout << it.first << " : " << it.second << endl;
// existing element is read
int m = sample['a'];
// existing element is written
sample['b'] = m;
// existing elements are accessed
sample['c'] = sample['a'];
// non existing element
// new element 'd' will be inserted
m = sample['d'];
// new element 'f' will be inserted
sample['c'] = sample['f'];
// print element after doing
// operations
for (auto& it : sample)
cout << it.first << " : " << it.second << endl;
return 0;
}
Output:
c : 6 b : 4 a : 2 f : 0 a : 2 b : 2 c : 0 d : 0Time Complexity
O(n) in worst case.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4