unordered_multimap::erase
Rimuove gli elementi alle posizioni specificate.
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
size_type erase(const Key& keyval);
Parametri
first
A partire dall'intervallo da cancellare.key
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 where.La seconda funzione membro rimuove gli elementi nell'intervallo [first, last).Entrambe restituiscono un iteratore che definisce il primo elemento rimanente oltre tutti gli elementi eliminati, o unordered_multimap::end() se tale elemento non esiste.
Il terzo membro rimuove gli elementi nell'intervallo delimitato unordered_multimap::equal_rangeda(keyval).Restituisce il numero di elementi che elimina.
le funzioni membro non generano mai un'eccezione.
Esempio
// std_tr1__unordered_map__unordered_multimap_erase.cpp
// compile with: /EHsc
#include <unordered_map>
#include <iostream>
typedef std::unordered_multimap<char, int> Mymap;
int main()
{
Mymap c1;
c1.insert(Mymap::value_type('a', 1));
c1.insert(Mymap::value_type('b', 2));
c1.insert(Mymap::value_type('c', 3));
// display contents " [c 3] [b 2] [a 1]"
for (Mymap::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << it->first << ", " << it->second << "]";
std::cout << std::endl;
// erase an element and reinspect
Mymap::iterator it2 = c1.erase(c1.begin());
std::cout << "*erase(begin()) == ["
<< it2->first << ", " << it2->second << "]";
std::cout << std::endl;
// add elements and display " [e 5] [d 4] [b 2] [a 1]"
c1.insert(Mymap::value_type('d', 4));
c1.insert(Mymap::value_type('e', 5));
for (Mymap::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << it->first << ", " << it->second << "]";
std::cout << std::endl;
// erase all but end;
it2 = c1.end();
it2 = c1.erase(c1.begin(), --it2);
std::cout << "*erase(begin(), end()-1) == ["
<< it2->first << ", " << it2->second << "]" << std::endl;
std::cout << "size() == " << c1.size() << std::endl;
return (0);
}
Requisiti
intestazione: <unordered_map>
Spazio dei nomi: deviazione standard