
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Unordered_map Library - erase() Function
Description
The C++ function std::unordered_map::equal() returns range of elements that matches specific key.
In unordered_map containers, where keys are unique, the range will include one element at most. If k does not match any key in the container, the range returned has end as both its lower and upper range bounds.
Declaration
Following is the declaration for std::unordered_map::equal() function form std::unordered_map header.
C++11
pair<iterator,iterator> equal_range(const key_type& k); pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
Parameters
k − Key to be searched.
Description
The C++ function std::unordered_map::erase() removes single element of the unordered_map from position.
This member function decreases size of unordered_map by one.
Declaration
Following is the declaration for std::unordered_map::erase() function form std::unordered_map header.
C++11
iterator erase(const_iterator position);
Parameters
position − Iterator to the element to remove.
Return value
Returns an iterator pointing to the position immediately following the last of the elements erased.
Time complexity
Constant i.e. O(1)
Example
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(um.begin()); 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 a = 1 b = 2 c = 3 d = 4