C ++ Map Library - funzione erase ()

Descrizione

La funzione C ++ std::multimap::erase() rimuove la gamma di elementi dalla mappa multipla.

Questa funzione membro riduce le dimensioni della mappa multipla.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: multimap :: 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

Nessun effetto sul contenitore se viene generata un'eccezione.

Complessità temporale

Lineare nella distanza tra il primo e l' ultimo .

Esempio

L'esempio seguente mostra l'utilizzo della funzione std :: multimap :: erase ().

#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;
}

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

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