Udostępnij za pośrednictwem


multimap Class

Klasa multimap standardowa biblioteka szablonów jest używana do przechowywania i pobierania danych z kolekcji, w której każdy element jest para, która ma wartość danych i klucz sortowania.Wartość klucza nie musi być unikatowa i kolejność dane automatycznie.Wartość elementu w Mapa wielokrotnego dopasowania, ale nie jego skojarzony wartości klucza, można zmieniać bezpośrednio.Zamiast tego wartości skojarzonych z stare elementy muszą być usunięte i nowe wartości kluczy związanych z nowe elementy wstawione.

template <
   class Key, 
   class Type, 
   class Traits=less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class multimap

Parametry

  • Klucz
    Typ danych klucza mają być przechowywane w Mapa wielokrotnego dopasowania.

  • Typ
    Typ danych elementu ma być przechowywany w Mapa wielokrotnego dopasowania.

  • Traits
    Typ, który zawiera obiekt funkcji, które można porównać dwie wartości elementów jako klucze sortowania do określenia ich względna kolejność w Mapa wielokrotnego dopasowania.Predykatu dwuelementowego mniej*<Key>* jest wartością domyślną.

  • Allocator
    Typ, który reprezentuje obiekt przechowywanych programu przydzielania adresów, który mieści szczegółowe informacje dotyczące alokacji i dezalokacji pamięci mapy.Ten argument jest opcjonalny, a wartość domyślna to programu przydzielania*<*pair *<*const klucz, wpisz > >.

Uwagi

Klasa multimap STL jest

  • Zespolone kontenera, w którym kontener rozmiar ramek, który obsługuje na wydajne wyszukiwanie wartości elementów oparte na skojarzonej wartości klucza.

  • Odwracalne, ponieważ zapewnia on Iteratory dwukierunkowy dostępu jego elementy do.

  • Posortowane, ponieważ jego elementy są uporządkowane według wartości kluczy w kontenerze zgodnie z funkcją porównania określonego.

  • Wielu, ponieważ jego elementy nie trzeba miały unikatowe klucze, tak aby jedna wartość klucza może mieć wiele wartości danych elementów skojarzonych z nią.

  • Para kontenera asocjacyjnych, ponieważ jego wartości danych elementów różnią się od jego wartości klucza.

  • Klasa szablonu, ponieważ zapewnia funkcjonalność jest rodzajowy i tak niezależnie od określonego typu danych znajdujących się jako elementów lub klucze.Typy danych przeznaczonych do elementów i klucze natomiast określono jako parametry w szablonie klasy wraz z porównania funkcji i przydzielania.

Sterująca udostępnianym przez klasę mapa jest sterująca dwukierunkowe, ale funkcje składowe klasy Wstaw i Mapa wielokrotnego dopasowania wersje, które biorą za parametry szablonu słabsze sterująca wejściowego, powodującym funkcjonalności są bardziej minimalne niż gwarantowana przez klasę Iteratory dwukierunkowego.Pojęcia dotyczące różnych sterująca tworzą rodziny powiązane przez udoskonaleń w ich funkcji.Każde pojęcie sterująca ma swój własny zestaw wymogów i algorytmów, które współpracują z nimi musi ograniczyć ich założenia do wymagań określonych przez tego typu sterująca.Można przypuszczać, że może można usunąć odwołania do odwoływania się do jakiegoś obiektu wejściowego iterację i że może być zwiększany do następnego sterująca w sekwencji.Jest to minimalny zestaw funkcji, ale wystarczy, aby móc mówić sensownie o szereg Iteratory [_First, _Last) w kontekście funkcje składowe tej klasy.

Wybór typu kontener powinny być ogólnie na podstawie typu wyszukiwania i wstawianie wymagane przez aplikację.Kontenery asocjacyjne są zoptymalizowane pod kątem operacji wyszukiwania, wstawiania i usuwania.Funkcje składowe, które jawnie obsługują te operacje są skuteczne, ich realizacji w czasie, który jest średnio proporcjonalna do logarytmu liczby elementów w kontenerze.Iteratory nie wstawiania elementów nie podważają i usuwanie elementów unieważnia tylko Iteratory, które w szczególności wskazywali na elementy usunięte.

Mapa wielokrotnego dopasowania powinna być zespolone opakowania z wyboru, gdy spełnione są warunki z wartości otrzymanych z klawiszy przez aplikację.Model dla tego typu konstrukcji jest uporządkowaną listę słów kluczowych z wartości ciąg skojarzone, zapewniając, powiedzmy, definicje, gdzie wyrazy były nie zawsze jednoznacznie zdefiniowane.Jeśli zamiast tego słowa kluczowe zostały jednoznacznie określone tak, aby były unikatowe klucze, mapie byłoby opakowania z wyboru.Jeśli z drugiej strony, były przechowywane tylko listę wyrazów, zestaw będzie poprawny kontenera.Jeżeli zezwolono wielu wystąpień słów, wielostopniowy byłoby struktury odpowiedni kontener.

Mapa wielokrotnego dopasowania zamówień sekwencja kontroluje poprzez wywołanie obiektu przechowywanej funkcji typu key_compare.Ten obiekt przechowywana jest funkcje porównania, która zapewnia dostęp poprzez wywołanie funkcji składowej key_comp.Ogólnie rzecz biorąc, elementy muszą być jedynie mniej niż porównywalne do ustanowienia tego zamówienia: tak, że biorąc pod uwagę każdymi dwoma elementami, może zostać stwierdzone, że są one równoważne (w tym sensie, że nie jest mniejsza niż inne) albo jednym jest mniejsza niż inne.Powoduje to zamawiania między elementami nonequivalent.Na bardziej techniczne notatki funkcja porównanie jest predykatu dwuelementowego, która powoduje ścisłe słabe kolejność w standardowych matematyczne znaczenie.Predykatu dwuelementowego f(x, y) jest obiekt funkcji, która ma dwa obiekty argument x i y i zwracana wartość wynosząca true lub false.Kolejność nałożonych na zestawie jest ścisłe słaby zamawiania Jeśli predykatu dwuelementowego jest niezwrotne, antysymetryczna i przechodnie i jeśli równoważność jest przechodnie, gdzie obydwa obiekty x i y są definiowane za równoważne, gdy oba f(x, y) i f(y, x) są fałszywe.Jeśli warunek silniejsze równości pomiędzy kluczami zastępuje system równoważności, kolejność staje się całkowita (w tym sensie, że wszystkie elementy są uporządkowane w odniesieniu do siebie), a klucze dopasowane jest niedostrzegalny od siebie.

Elementy członkowskie

1ka6hya8.collapse_all(pl-pl,VS.110).gifKonstruktory

Mapa wielokrotnego dopasowania

Konstrukcje multimap oznacza to jest pusta lub oznacza to kopii całości lub jakąś inną częścią multimap.

1ka6hya8.collapse_all(pl-pl,VS.110).gifDefinicje typów

allocator_type

Typ, który reprezentuje allocator klasy dla multimap obiektu.

const_iterator

Typ, udostępniającego sterująca dwukierunkowe, które można odczytać const element w multimap.

const_pointer

Typ, który zapewni wskaźnik do const element w multimap.

const_reference

Typ, który zawiera odwołanie do const element przechowywane w multimap do odczytu i wykonywania const operacji.

const_reverse_iterator

Typ, udostępniającego sterująca dwukierunkowe, które można odczytać żadnych const element w multimap.

difference_type

Typ całkowita, która może służyć do reprezentowania liczbę elementów multimap w zakresie między elementami wskazywanej przez Iteratory.

sterująca

Typ, który stanowi różnicę między dwoma Iteratory, które odwołują się do elementów w tym samym multimap.

key_compare

Typ, który zawiera obiekt funkcji, które można porównać dwa klucze sortowania do określenia względnej kolejności dwa elementy w multimap.

key_type

Typ, który opisuje klucz sortowania obiektu, który stanowi każdy element multimap.

mapped_type

Typ, który reprezentuje typ danych przechowywanych w multimap.

wskaźnik

Typ, który zapewni wskaźnik do const element w multimap.

Odwołanie

Typ, który zawiera odwołanie do elementu przechowywane w multimap.

reverse_iterator

Typ, udostępniająca sterująca dwukierunkowe, które mogą odczytywać lub modyfikować element odwrócone multimap.

size_type

Typu Liczba całkowita bez znaku, który zapewni wskaźnik do const element w multimap.

value_type

Typ, który zawiera obiekt funkcji, które można porównać dwa elementy jako klucze sortowania do określenia ich względną kolejność, w multimap.

1ka6hya8.collapse_all(pl-pl,VS.110).gifFunkcje składowe

rozpocząć

Zwraca iterację adresowania pierwszym elementem w multimap.

multimap::cbegin

Zwraca wartość sterująca const, adresowania pierwszym elementem w multimap.

multimap::cend

Zwraca wartość sterująca const, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w multimap.

Wyczyść

Usuwa wszystkie elementy multimap.

Licznik

Zwraca liczbę elementów w multimap której klucz pasuje do klucza z określonego przez parametr.

multimap::crbegin

Zwraca wartość sterująca const, adresowania pierwszym elementem odwrócone multimap.

multimap::crend

Zwraca wartość sterująca const, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w odwrócone multimap.

multimap::emplace

Wstawia element zbudowanych w miejscu, w multimap.

multimap::emplace_hint

Wstawia element zbudowanych w miejscu, w multimap, z wskazówkę dotyczącą rozmieszczenia

pusty

Testy, jeśli multimap jest pusta.

koniec

Zwraca wartość sterująca, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w multimap.

equal_range

Wyszukuje zakres elementów, gdzie klucz elementu spełnia określone wymagania.

wymazywanie

Usuwa element lub szereg elementów w multimap z określonych pozycjach lub usuwa elementy, które odpowiadają określonym kluczem.

Znajdź

Zwraca iterację adresowania miejscu pierwszego elementu w multimap która ma klucz równoważne z określonym kluczem.

get_allocator

Zwraca kopię allocator obiekt służący do konstruowania multimap.

Wstaw

Wstawia element lub szereg elementów w multimap.

key_comp

Pobiera kopię obiektu porównania, służący do kluczy zamówienia w multimap.

lower_bound

Zwraca iterację do pierwszego elementu w multimap , przy użyciu klucza, który jest równy lub większy niż określonym kluczem.

max_size

Zwraca maksymalną długość multimap.

rbegin

Zwraca iterację adresowania pierwszym elementem odwrócone multimap.

rend

Zwraca wartość sterująca, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w odwrócone multimap.

rozmiar

Zwraca liczbę elementów w multimap.

swap

Wymiany elementów dwu multimaps.

upper_bound

Zwraca iterację do pierwszego elementu w multimap , przy użyciu klucza, która jest większa niż określonym kluczem.

value_comp

Funkcja składowa zwraca obiekt funkcji, która określa kolejność elementów w multimap przez porównanie ich wartości klucza.

1ka6hya8.collapse_all(pl-pl,VS.110).gifOperatory

multimap::operator=

Zastępuje elementy multimap z kopią innego multimap.

Wymagania

Nagłówek: <map>

Obszar nazw: std

(Klucz, wartość) pary są przechowywane w Mapa wielokrotnego dopasowania jako obiekty typu pair.Klasa parę wymaga nagłówka <utility>, który jest automatycznie dołączany przez <map>.

Zobacz też

Informacje

Bezpieczeństwo wątków w standardowa biblioteka języka C++

Standardowa biblioteka szablonu

Inne zasoby

Członkowie multimap

<map> Członkowie

Pliki nagłówków