Udostępnij za pośrednictwem


unordered_map Class

Klasa szablonu opisuje obiekt, który kontroluje sekwencji różnej długości elementów typu std::pair<const Key, Ty>.Sekwencja jest słabo uporządkowane według funkcji mieszania partycji sekwencji w uporządkowany zestaw o nazwie segmentów podciągów.W ramach każdego segmentu funkcji porównania określa, czy między każdą parą elementów ma, równoważne zamawiania.Każdy element przechowuje dwa obiekty, klucz sortowania i wartości.Sekwencja jest reprezentowana w sposób, który pozwala na wyszukiwanie, wstawiania i usuwania dowolnego elementu, o liczbie operacji, które mogą być niezależne od liczby elementów w kolejności (czas stałej), co najmniej podczas wszystkich segmentów są mniej więcej jednakowej długości.W najgorszym przypadku gdy wszystkie elementy są w jednym segmencie liczba operacji jest proporcjonalna do liczby elementów w kolejności (liniowy czasu).Ponadto Wstawianie elementu unieważnia Iteratory nie i usuwanie elementu unieważnia tylko Iteratory, które wskazują na usunięto element.

template<class Key,
    class Ty,
    class Hash = std::hash<Key>,
    class Pred = std::equal_to<Key>,
    class Alloc = std::allocator<std::pair<const Key, Ty> > >
    class unordered_map;

Parametry

Parametr

Opis

Key

Typ klucza.

Ty

Typ mapowane.

Hash

Typ obiektu funkcji mieszania.

Pred

Typ obiektu funkcji porównania równości.

Alloc

Klasa przydzielania.

Członkowie

Definicja typu

Opis

unordered_map::allocator_type

Typ programu przydzielania za zarządzanie magazynem.

unordered_map::const_iterator

Typ stałej iteratora kontrolowanych sekwencji numerów.

unordered_map::const_local_iterator

Typ iteratora stałej Wiadro z farbą kontrolowanych sekwencji numerów.

unordered_map::const_pointer

Typ stałej wskaźnik do elementu.

unordered_map::const_reference

Typ stałej odwołanie do elementu.

unordered_map::difference_type

Typ podpisane odległość między dwoma elementami.

unordered_map::hasher

Typ funkcji mieszania.

unordered_map::iterator

Typ iteratora kontrolowanych sekwencji numerów.

unordered_map::key_equal

Typ funkcji porównania.

unordered_map::key_type

Typ klucza zamawiania.

unordered_map::local_iterator

Typ iteratora Wiadro z farbą kontrolowanych sekwencji numerów.

unordered_map::mapped_type

Typ wartości mapowanych, skojarzone z poszczególnymi kluczami.

unordered_map::pointer

Typ wskaźnik do elementu.

unordered_map::reference

Typ odwołania do elementu.

unordered_map::size_type

Typ niepodpisane odległość między dwoma elementami.

unordered_map::value_type

Typ elementu.

Funkcja Członkowskie

Opis

hash_map::begin

Wyszukuje element z określonym kluczem.

unordered_map::begin

Wyznacza początek kontrolowanych sekwencji.

unordered_map::bucket

Pobiera numer segmentu dla wartości klucza.

unordered_map::bucket_count

Pobiera ilość segmentów.

unordered_map::bucket_size

Pobiera rozmiar segmentu.

hash_map::begin

Wyznacza początek kontrolowanych sekwencji.

hash_map::begin

Wyznacza koniec sekwencji kontrolowane.

unordered_map::clear

Usuwa wszystkie elementy.

unordered_map::count

Wyszukuje liczbę elementów pasujących do określonego klucza.

hash_map::begin

Dodaje element zbudowane w miejscu.

hash_map::begin

Dodaje element zbudowane w miejscu, wskazówka.

unordered_map::empty

Badania, czy elementy nie są obecnie.

unordered_map::end

Wyznacza koniec sekwencji kontrolowane.

unordered_map::equal_range

Wyszukuje zakres, który pasuje do określonego klucza.

unordered_map::erase

Usuwa elementy na określonych pozycjach.

unordered_map::find

Wyszukuje element, który pasuje do określonego klucza.

unordered_map::get_allocator

Pobiera obiekt alokatora przechowywane.

unordered_map::hash_function

Pobiera obiekt funkcji mieszania przechowywane.

unordered_map::insert

Dodaje elementy.

unordered_map::key_eq

Pobiera obiekt przechowywane porównanie funkcji.

unordered_map::load_factor

Oblicza średnią elementów na Wiadro z farbą.

unordered_map::max_bucket_count

Pobiera maksymalną liczbę segmentów.

unordered_map::max_load_factor

Pobiera lub ustawia maksymalną elementów na Wiadro z farbą.

unordered_map::max_size

Pobiera maksymalny rozmiar kontrolowany sekwencji.

unordered_map::rehash

Przebudowuje tabeli mieszania.

unordered_map::size

Zlicza liczbę elementów.

unordered_map::swap

Zamienia zawartość dwóch kontenerów.

unordered_map::unordered_map

Konstrukcje obiektu kontenera.

Operator

Opis

unordered_map::operator[]

Wyszukuje lub wstawia element z określonym kluczem.

hash_map::begin

Kopiuje z tabeli mieszania.

Uwagi

Obiekt zamówienia sekwencji, kontroluje, wywołując dwóch obiektów przechowywanych obiektu funkcji porównania tego typu unordered_map::key_equal i obiektu funkcji mieszania typu unordered_map::hasher.Dostęp do pierwszego obiektu przechowywanych przez wywołanie funkcji składowej unordered_map::key_eq(); i uzyskać dostęp do drugiego obiektu przechowywanych przez wywołanie funkcji składowej unordered_map::hash_function().W szczególności dla wszystkich wartości X i Y typu Key, wywołanie key_eq()(X, Y) zwraca wartość true tylko wtedy, gdy wartości argumentu dwóch równoważnych zamówienia; wywołanie hash_function()(keyval) daje dystrybucji wartości typu size_t.W odróżnieniu od szablonu klasy unordered_multimap Class, obiekt szablonu klasy unordered_map zapewnia, że key_eq()(X, Y) jest zawsze wartość false dla dwa elementy w kontrolowanych sekwencji.(Klucze są unikatowe).

Obiekt przechowuje również współczynnik maksymalne obciążenie, które określa, że maksymalne potrzeby średnia liczba elementów na Wiadro z farbą.Jeśli Wstawianie elementu powoduje, że unordered_map::load_factor() przekroczyć współczynnika maksymalnego obciążenia, kontener zwiększa ilość segmentów i odtwarza tabeli mieszania, w razie potrzeby.

Rzeczywistej kolejności elementów w kontrolowanych sekwencji zależy od funkcji mieszania, funkcja porównania, kolejność wstawiania, współczynnik maksymalnego obciążenia i bieżąca liczba segmentów.Kolejność elementów w sekwencji kontrolowanych w ogóle nie można przewidzieć.Można zawsze mieć pewność, jednak przylegają dowolny podzestaw elementów, które mają równoważne zamawiania w kontrolowanych sekwencji.

Obiekt przydziela i zwalnia przechowywania sekwencji kontroluje za pośrednictwem obiektu przechowywane alokatora typu unordered_map::allocator_type.Obiekt programu przydzielania muszą mieć ten sam interfejs zewnętrzny jako obiekt szablonu klasy allocator.Należy zauważyć, że przypisywany jest obiektem kontenera obiektów przechowywanych alokator nie jest kopiowane.

Wymagania

Nagłówek: <unordered_map>

Obszar nazw: std

Zobacz też

Informacje

<unordered_map>

unordered_map Class

Inne zasoby

<unordered_map> Członkowie