To jest stara wersja strony!
Autor: Michał Sobiecki
Mapa jest kontenerem asocjacyjnym, czyli takim, w którym oprócz wartości (danych) przechowywane są również unikalne klucze nie koniecznie będące zmiennymi całkowitymi.
Przykładem użycia mapy może być książka telefoniczna (powiązanie nazwisko (string) → numer telefonu) lub interaktywny model nieba (powiązanie położenie planety (punkt) → informacje o planecie). Innym przykładem użycia mapy jest menedżer zasobów, lub algorytm wczytywania plików eksportowanych przez program Milkshape3d do indeksowanego bufora wierzchołków.
W wewnętrznej implementacji mapy obiekty są posortowane według rosnącej wartości kluczy. Projektanci mapy położyli główny nacisk na szybkość odwoływania się do konkretnych elementów według kluczy. Z założenia klucze muszą być unikalne - w przeciwieństwie do multimapy nie mogą istnieć dwa elementy o jednakowym kluczu. Każdy element stanowi para klucz - wartość mapowana.
template < class Key, class T, class Compare = less<Key>, class Allocator = allocator<pair<const Key,T> > > class map;
Gdzie:
Mapa wspiera iteratory dwukierunkowe. Przy ich pomocy można odwołać się zarówno do klucza jak i danych mapowanych, za pośrednictwem std::pair, przy czym pole first zawsze zawiera klucz, natomiast second zawsze zawiera dane mapowane.
typedef pair<const Key, T> value_type;
Tak więc wyłuskany iterator (*i) wskazuje na znaleziony obiekt value_type.
begin | Zwraca Iterator na początek mapy. |