devxlogo

The erase() Member Function of Associative Containers

The erase() Member Function of Associative Containers

The associative containers std::map, std::multimap, std::set, and std::multiset have the following three overloaded forms of the member function erase():

 class map // simplified for brevity{public://..other members void erase(iterator position); // 1 size_type erase(const key_type& x); // 2 void erase(iterator first, iterator last); // 3};

The first version takes an iterator pointing at an existing container element and erases it. For example, the following code erases the last element of the container:

 employees.erase(employees.rbegin());

Remember that an element of an associative container is a pair of two values: a key and its associated value. The second version of erase() enables you to erase an element using its key. For example, suppose you have created the following map object:

 std::map employees;//.. fill map// erase the element whose first member equals 2employees.erase(2); 

The third version of erase() deletes a sequence of elements whose bounds are indicated by the iterators first and last. For example, the following statement erases all the elements of a map:

 employees.erase(employees.begin(), employees.end());

Of course, you can use the clear() member function to achieve the same effect because clear() simply calls erase(begin(), end());

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist