Udostępnij za pośrednictwem


hash_multimap::erase (STL/CLR)

Usuwa elementy na określonych pozycjach.

    iterator erase(iterator where);
    iterator erase(iterator first, iterator last);
    bool 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 hash_multimap::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_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); 
    } 
 
  

Wymagania

Nagłówek: < cliext/hash_map >

Obszar nazw: cliext

Zobacz też

Informacje

hash_multimap (STL/CLR)

hash_multimap::clear (STL/CLR)