Partager via


multiset::erase (STL/CLR)

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

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

Paramètres

  • tout d'abord
    Début de la plage à effacer.

  • key
    Valeur de clé à effacer.

  • 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 désignée par where, et retourne un itérateur qui indique le premier élément restant au delà de l'élément supprimé, ou multiset::end (STL/CLR)() s'il n'existe aucun élément.Vous l'utilisez pour supprimer un seul élément.

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

La troisième fonction membre supprime un élément de la séquence contrôlée dont la clé a classer équivalent à key, puis retourne le nombre d'éléments supprimés.Vous l'utilisez pour supprimer et compter tous les éléments qui correspondent à une clé spécifiée.

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

Exemple

// cliext_multiset_erase.cpp 
// compile with: /clr 
#include <cliext/set> 
 
typedef cliext::multiset<wchar_t> Mymultiset; 
int main() 
    { 
    Mymultiset c1; 
    c1.insert(L'a'); 
    c1.insert(L'b'); 
    c1.insert(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// erase an element and reinspect 
    System::Console::WriteLine("erase(begin()) = {0}", 
        *c1.erase(c1.begin())); 
 
// add elements and display " b c d e" 
    c1.insert(L'd'); 
    c1.insert(L'e'); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// erase all but end 
    Mymultiset::iterator it = c1.end(); 
    System::Console::WriteLine("erase(begin(), end()-1) = {0}", 
        *c1.erase(c1.begin(), --it)); 
    System::Console::WriteLine("size() = {0}", c1.size()); 
    return (0); 
    } 
 
  

Configuration requise

en-tête :<cliext/set>

Cliext del'espace de noms :

Voir aussi

Référence

multiset (STL/CLR)

multiset::clear (STL/CLR)