hash_multimap::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
Avvio dell'intervallo da cancellare.chiave
Valore della chiave da cancellare.last
Fine di intervallo da cancellare.where
Elemento da cancellare.
Note
La prima funzione membro rimuovi elemento della sequenza selezionata indicata da where e restituisce un iteratore che definisce il primo elemento che rimane oltre l'elemento rimosso, o hash_multimap::end (STL/CLR)() se tale elemento non esiste. Utilizzarla per rimuovere 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 che rimane 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 della chiave è equivalente a ordine key e restituisce un conteggio del numero di elementi rimosso. 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_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);
}
Requisiti
Intestazione:<cliext/hash_map>
Spazio dei nomi: cliext