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 kontrolowanej sekwencji wskazywanego przez wherei zwraca iterację opisująca pierwszy element pozostały poza element usunięty, lub hash_multimap::end (STL/CLR)() Jeśli nie zawiera żadnego takiego elementu.Umożliwia ona usunąć pojedynczy element.

Funkcję drugiego członka usuwa elementy kontrolowanej sekwencji w zakresie [first, last)i zwraca iterację opisująca pierwszy element pozostały poza wszelkie elementy usunięte, lub end() Jeśli nie takie istnieje element...Można użyć do usunięcia zero lub więcej sąsiadujących elementów.

Trzeci funkcji składowej usuwa dowolny element kontrolowanej sekwencji, w której klucz został zamawianie równoważne do keyi zwraca liczbę liczba elementów usuniętych.Można go używać do usuwania i policzyć wszystkie elementy, które odpowiadają określonym kluczem.

Usunięcie każdego elementu wymaga 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>

Przestrzeń nazw: cliext

Zobacz też

Informacje

hash_multimap (STL/CLR)

hash_multimap::clear (STL/CLR)