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 ++ 98

void erase (iterator first, iterator last);

Paramètres

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

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

Valeur de retour

Aucun

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;

   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;

   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