Bibliothèque de cartes C ++ - fonction erase ()

La description

La fonction C ++ std::multimap::erase() supprime la plage d'élément du multimap.

Cette fonction membre réduit la taille de multimap.

Déclaration

Voici la déclaration de la fonction std :: multimap :: erase () sous forme d'en-tête std :: map.

C ++ 11

iterator erase (const_iterator first, const_iterator last);

Paramètres

  • first - Entrez l'itérateur à la position initiale dans la plage.

  • last - Entrer l'itérateur à la position finale dans la plage.

Valeur de retour

Renvoie un itérateur après le dernier élément supprimé.

Exceptions

Aucun effet sur le conteneur si une exception est levée.

Complexité temporelle

Linéaire dans la distance entre le premier et le dernier .

Exemple

L'exemple suivant montre l'utilisation de la fonction 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

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