hash_set : : 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
premièrement
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 hash_set : : 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_hash_set_erase.cpp
// compile with: /clr
#include <cliext/hash_set>
typedef cliext::hash_set<wchar_t> Myhash_set;
int main()
{
Myhash_set 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
Myhash_set::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/hash_set>
Espace de noms cliext