The C++ function std::unordered_map::erase() removes mapped value associated with key k.
Following is the declaration for std::unordered_map::erase() function form std::unordered_map header.
size_type erase(const key_type& k);
k − Key of the element to be removed.
Returns number of elements removed.
Constant i.e. O(1)
The following example shows the usage of std::unordered_map::erase() 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 before erase operation" << endl; for (auto it = um.begin(); it != um.end(); ++it) cout << it->first << " = " << it->second << endl; um.erase('a'); cout << endl; cout << "Unordered map contains following elements after erase operation" << endl; for (auto it = um.begin(); it != um.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
Let us compile and run the above program, this will produce the following result −
Unordered map contains following elements before erase operation e = 5 a = 1 b = 2 c = 3 d = 4 Unordered map contains following elements after erase operation e = 5 b = 2 c = 3 d = 4