hash_map::erase (STL/CLR)
Rimuove gli elementi alle posizioni specificate.
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
bool erase(key_type key)
Parametri
innanzitutto
A partire dall'intervallo da cancellare.chiave
Valore della chiave da cancellare.last
Estremità di intervallo da cancellare.where
Elemento da cancellare.
Note
La prima funzione membro rimuove l'elemento della sequenza selezionata indicata da wheree restituisce un iteratore che definisce il primo elemento rimanente oltre l'elemento rimosso, o hash_map::end (STL/CLR)() se tale elemento non esiste.Utilizzarla per eliminare un singolo elemento.
La seconda funzione membro rimuove gli elementi della sequenza selezionata nell'intervallo [first,last)e restituisce un iteratore che definisce il primo elemento rimanente oltre tutti gli elementi eliminati, o end() se tale elemento non esiste.Utilizzarla per rimuovere elementi zero o più adiacenti.
La terza funzione membro elimina qualsiasi elemento della sequenza selezionata di cui la chiave ha ordine equivalente a keye restituisce un conteggio del numero di elementi rimossi.Utilizzarla per eliminare e contare tutti gli elementi che soddisfano una chiave specificata.
Ogni cancellatura dell'elemento richiede tempo proporzionale al logaritmo del numero di elementi della sequenza selezionata.
Esempio
// cliext_hash_map_erase.cpp
// compile with: /clr
#include <cliext/hash_map>
typedef cliext::hash_map<wchar_t, int> Myhash_map;
int main()
{
cliext::hash_map<wchar_t, int> c1;
c1.insert(cliext::hash_map<wchar_t, int>::make_value(L'a', 1));
c1.insert(cliext::hash_map<wchar_t, int>::make_value(L'b', 2));
c1.insert(cliext::hash_map<wchar_t, int>::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (cliext::hash_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::hash_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::hash_map<wchar_t, int>::make_value(L'd', 4));
c1.insert(cliext::hash_map<wchar_t, int>::make_value(L'e', 5));
for each (cliext::hash_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);
}
Requisiti
intestazione: <cliext/hash_map>
Cliext diSpazio dei nomi: