- 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
C++ Map Library - erase() Function
Description
The C++ function std::multimap::erase() removes range of element from the the multimap.
This member function reduces size of multimap.
Declaration
Following is the declaration for std::multimap::erase() function form std::map header.
C++11
iterator erase (const_iterator first, const_iterator last);
Parameters
first − Input iterator to the initial position in range.
last − Input iterator to the final position in range.
Return value
Returns an iterator following the last removed element.
Exceptions
No effect on container if exception is thrown.
Time complexity
Linear in the distance between first to last.
Example
The following example shows the usage of std::multimap::erase() function.
#include <iostream> #include <map> using namespace std; int main(void) { /* Multimap with duplicates */ multimap<char, int> m { {'a', 1}, {'a', 2}, {'b', 3}, {'c', 4}, {'c', 5}, }; cout << "Multimap contains following elements before erase operation" << endl; for (auto it = m.begin(); it != m.end(); ++it) cout << it->first << " = " << it->second << endl; auto it = m.begin(); ++it, ++it; it = m.erase(m.begin(), it); cout << "Multimap contains following elements after erase operation" << endl; for (auto it = m.begin(); it != m.end(); ++it) cout << it->first << " = " << it->second << endl; cout << "After erase operation iterator points to " << it->first << " = " << it->second << endl; return 0; }
Let us compile and run the above program, this will produce the following result −
Multimap contains following elements before erase operation a = 1 a = 2 b = 3 c = 4 c = 5 Multimap contains following elements after erase operation b = 3 c = 4 c = 5 After erase operation iterator points to b = 3
map.htm
Advertisements