Libreria mappe C ++ - funzione erase ()

Descrizione

La funzione C ++ std::map::erase() rimuove l'intervallo di elementi dalla mappa.

Questa funzione membro riduce le dimensioni della mappa.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: map :: erase () nel modulo std :: map header.

C ++ 11

iterator erase (const_iterator first, const_iterator last);

Parametri

  • first - Input iteratore alla posizione iniziale nell'intervallo.

  • last - Input iteratore alla posizione finale nell'intervallo.

Valore di ritorno

Restituisce un iteratore che segue l'ultimo elemento rimosso.

Eccezioni

Questa funzione membro non genera eccezioni.

Complessità temporale

Lineare nella distanza tra il primo e l' ultimo .

Esempio

Il seguente esempio mostra l'utilizzo della funzione 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;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

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