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

La description

La fonction C ++ std::map::erase() supprime la plage d'élément de la carte.

Cette fonction membre réduit la taille de la carte.

Déclaration

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

C ++ 11

iterator erase (const_iterator first, const_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

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

Exceptions

Cette fonction membre ne lève pas d'exception.

Complexité temporelle

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

Exemple

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

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

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