unordered_multiset::erase
Entfernt Elemente an den angegebenen Positionen.
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
size_type erase(const Key& keyval);
Parameter
first
Starten des Bereichs, der gelöscht werden soll.key
So löschen Sie Schlüsselwert.last
Ende des Bereichs, der gelöscht werden soll.where
So Element löschen
Hinweise
Die erste Memberfunktion entfernt das Element der kontrollierten Sequenz, die durch wheredargestellt wird.Die zweite Memberfunktion entfernt die Elemente im Bereich [first, last).Beides gibt ein Iterator, der das erste Element festgelegt wird, das über alle Elemente entfernt wurden, oder unordered_multiset::endhinaus bleibt() , wenn kein solches Element vorhanden ist.
Der dritte Member entfernt die Elemente im Bereich, der durch unordered_multiset::equal_range(keyval)getrennt ist.Dieser gibt die Anzahl der Elemente zurück, die entfernt werden soll.
Die Memberfunktionen lösen niemals eine Ausnahme aus.
Beispiel
// std_tr1__unordered_set__unordered_multiset_erase.cpp
// compile with: /EHsc
#include <unordered_set>
#include <iostream>
typedef std::unordered_multiset<char> Myset;
int main()
{
Myset c1;
c1.insert('a');
c1.insert('b');
c1.insert('c');
// display contents " [c] [b] [a]"
for (Myset::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
// erase an element and reinspect
Myset::iterator it2 = c1.erase(c1.begin());
std::cout << "*erase(begin()) == [" << *it2 << "]";
std::cout << std::endl;
// add elements and display " [e] [d] [b] [a]"
c1.insert('d');
c1.insert('e');
for (Myset::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
// erase all but end;
it2 = c1.end();
it2 = c1.erase(c1.begin(), --it2);
std::cout << "*erase(begin(), end()-1) == ["
<< *it2 << "]" << std::endl;
std::cout << "size() == " << c1.size() << std::endl;
return (0);
}
Anforderungen
Header: <unordered_set>
Namespace: std