Udostępnij za pośrednictwem


multiset::ERASE (STL/CLR)

Usuwa elementy na określonych pozycjach.

    iterator erase(iterator where);
    iterator erase(iterator first, iterator last);
    size_type erase(key_type key)

Parametry

  • pierwszy
    Początek zakresu do wymazania.

  • klucz
    Wartość klucza do wymazania.

  • ostatni
    Koniec zakresu do wymazania.

  • gdzie
    Element do wymazania.

Uwagi

Pierwsza funkcja Członkowskie usuwa element kontrolowanych sekwencji wskazywanej przez wherei zwraca iterację, wyznaczający pierwszy element pozostały poza element usunięty, lub multiset::end (STL/CLR)() , jeśli element nie istnieje.Użyj go do usunięcia pojedynczego elementu.

Drugi funkcji składowej usuwa elementy sekwencji kontrolowane w zakresie [first, last)i zwraca iterację, który wyznacza pierwszy element pozostały poza elementy usunięte, lub end() , jeśli element nie istnieje.Użyj go do usunięcia zero lub więcej sąsiadujących elementów.

Trzecią funkcję Członkowskie usuwa żadnego elementu sekwencji kontrolowanych, której klucz ma równoważne zamawiania do keyi zwraca liczbę liczba elementów usuniętych.Użyj go do usunięcia i policzyć wszystkie elementy, które odpowiadają określonym kluczem.

Usunięcie każdego elementu zajmuje czasu proporcjonalna do logarytmu liczby elementów w kontrolowanej sekwencji.

Przykład

// cliext_multiset_erase.cpp 
// compile with: /clr 
#include <cliext/set> 
 
typedef cliext::multiset<wchar_t> Mymultiset; 
int main() 
    { 
    Mymultiset c1; 
    c1.insert(L'a'); 
    c1.insert(L'b'); 
    c1.insert(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// erase an element and reinspect 
    System::Console::WriteLine("erase(begin()) = {0}", 
        *c1.erase(c1.begin())); 
 
// add elements and display " b c d e" 
    c1.insert(L'd'); 
    c1.insert(L'e'); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// erase all but end 
    Mymultiset::iterator it = c1.end(); 
    System::Console::WriteLine("erase(begin(), end()-1) = {0}", 
        *c1.erase(c1.begin(), --it)); 
    System::Console::WriteLine("size() = {0}", c1.size()); 
    return (0); 
    } 
 
  

Wymagania

Nagłówek: < cliext/set >

Obszar nazw: cliext

Zobacz też

Informacje

multiset (STL/CLR)

multiset::Clear (STL/CLR)