Partager via


hash_multimap::erase (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

  • 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 hash_multimap::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_hash_multimap_erase.cpp 
// compile with: /clr 
#include <cliext/hash_map> 
 
typedef cliext::hash_multimap<wchar_t, int> Myhash_multimap; 
int main() 
    { 
    cliext::hash_multimap<wchar_t, int> c1; 
    c1.insert(cliext::hash_multimap<wchar_t, int>::make_value(L'a', 1)); 
    c1.insert(cliext::hash_multimap<wchar_t, int>::make_value(L'b', 2)); 
    c1.insert(cliext::hash_multimap<wchar_t, int>::make_value(L'c', 3)); 
 
// display contents " [a 1] [b 2] [c 3]" 
    for each (cliext::hash_multimap<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::hash_multimap<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::hash_multimap<wchar_t, int>::make_value(L'd', 4)); 
    c1.insert(cliext::hash_multimap<wchar_t, int>::make_value(L'e', 5)); 
    for each (cliext::hash_multimap<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/hash_map>

Cliext del'espace de noms :

Voir aussi

Référence

hash_multimap (STL/CLR)

hash_multimap::clear (STL/CLR)