unordered_multiset::erase
Usuwa elementy na określonych pozycjach.
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
size_type erase(const Key& keyval);
Parametry
first
Początek zakresu do wymazania.key
Wartość klucza do wymazania.last
Koniec zakresu do wymazania.where
Element, aby wymazać
Uwagi
Pierwsza funkcja Członkowskie usuwa element kontrolowanych sekwencji wskazywanej przez where.Druga funkcja Członkowskie usuwa elementy z zakresu [first, last).Obie zwracają iterację, który wyznacza pierwszy element pozostałych poza wszelkie elementy usunięte, lub unordered_multiset::end() , jeśli element nie istnieje.
Trzeciego członka usuwa elementy z zakresu wyznaczoną przez unordered_multiset::equal_range(keyval).Zwraca liczbę elementów, które usuwa.
Funkcje składowe throw nigdy nie wyjątek.
Przykład
// 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);
}
Wymagania
Nagłówek: <unordered_set>
Obszar nazw: std
Zobacz też
Informacje
Inne zasoby
<unordered_set> Członkowie