Biblioteca de mapas de C ++ - función erase ()

Descripción

La función C ++ std::map::erase() elimina el rango de elementos del mapa.

Esta función miembro reduce el tamaño del mapa.

Declaración

A continuación se muestra la declaración de la función std :: map :: erase () desde el encabezado std :: map.

C ++ 11

iterator erase (const_iterator first, const_iterator last);

Parámetros

  • first - Ingrese el iterador a la posición inicial en el rango.

  • last - Ingrese el iterador a la posición final en el rango.

Valor devuelto

Devuelve un iterador que sigue al último elemento eliminado.

Excepciones

Esta función miembro no lanza una excepción.

Complejidad del tiempo

Lineal en la distancia entre el primero y el último .

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: map :: erase ().

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Initializer_list constructor */
   map<char, int> m = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5},
            };

   cout << "Map contains following elements befor 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 << "Map 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 << endl;

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Map contains following elements befor erase operation
a = 1
b = 2
c = 3
d = 4
e = 5
Map contains following elements after erase operation
c = 3
d = 4
e = 5
After erase operation iterator points to = c