Partager via


mappage : : effacement (STL/CLR)

Supprime les éléments placés aux positions spécifiées.

    iterator erase(iterator where);
    iterator erase(iterator first, iterator last);
    bool erase(key_type key)

Paramètres

  • first
    Début de la plage à effacer.

  • key
    Valeur de clé à supprimer.

  • last
    Fin de la plage à effacer.

  • where
    Élément à effacer.

Notes

La première fonction membre supprime l'élément de la séquence contrôlée vers laquelle pointe where, et retourne un itérateur qui indique le premier élément restant au delà de l'élément supprimé, ou mappage : : fin (STL/CLR)() si aucun tel élément n'existe. Vous l'utilisez pour retirer un élément.

La deuxième méthode supprime les éléments de la séquence contrôlée dans la plage [first, last), et retourne un itérateur qui désigne le premier élément restant au delà de tous les éléments supprimés, ou end() si aucun tel élément n'existe. Vous l'utilisez pour supprimer zéro ou plusieurs éléments contigus.

La troisième méthode supprime tout élément de la séquence contrôlée dont la clé est de tri équivalent à key, puis retourne le nombre d'éléments supprimés. Vous l'utilisez pour supprimer et compter les éléments qui correspondent à la clé spécifiée.

Chaque suppression d'élément prend un temps proportionnel au logarithme du nombre d'éléments dans la séquence contrôlée.

Exemple

// cliext_map_erase.cpp 
// compile with: /clr 
#include <cliext/map> 
 
typedef cliext::map<wchar_t, int> Mymap; 
int main() 
    { 
    cliext::map<wchar_t, int> c1; 
    c1.insert(cliext::map<wchar_t, int>::make_value(L'a', 1)); 
    c1.insert(cliext::map<wchar_t, int>::make_value(L'b', 2)); 
    c1.insert(cliext::map<wchar_t, int>::make_value(L'c', 3)); 
 
// display contents " [a 1] [b 2] [c 3]" 
    for each (cliext::map<wchar_t, int>::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// erase an element and reinspect 
    cliext::map<wchar_t, int>::iterator it = 
        c1.erase(c1.begin()); 
    System::Console::WriteLine("erase(begin()) = [{0} {1}]", 
        it->first, it->second); 
 
// add elements and display " b c d e" 
    c1.insert(cliext::map<wchar_t, int>::make_value(L'd', 4)); 
    c1.insert(cliext::map<wchar_t, int>::make_value(L'e', 5)); 
    for each (cliext::map<wchar_t, int>::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// erase all but end 
    it = c1.end(); 
    it = c1.erase(c1.begin(), --it); 
    System::Console::WriteLine("erase(begin(), end()-1) = [{0} {1}]", 
        it->first, it->second); 
    System::Console::WriteLine("size() = {0}", c1.size()); 
 
// erase end 
    System::Console::WriteLine("erase(L'x') = {0}", c1.erase(L'x')); 
    System::Console::WriteLine("erase(L'e') = {0}", c1.erase(L'e')); 
    return (0); 
    } 
 
  

Configuration requise

En-tête : <cliext/map>

Espace de noms cliext

Voir aussi

Référence

map (STL/CLR)

mappage : : espace libre (STL/CLR)