przejście do zawartości
zpr c++ quick reference
Narzędzia użytkownika
Zarejestruj się!
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Zarejestruj się!
Ostatnie zmiany
Menadżer multimediów
Indeks
Ślad:
•
search_n
•
opis_kontenera_set
opis_kontenera:map
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== std::map ====== //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 {{:opis_kontenera:map.cpp|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 [[opis kontenera: multimap|multimapy]] nie mogą istnieć dwa elementy o jednakowym kluczu. Każdy element stanowi para klucz - wartość mapowana.\\ \\ \\ <code c++> template < class Key, class T, class Compare = less<Key>, class Allocator = allocator<pair<const Key,T> > > class map; </code> Gdzie: * Key - typ jaki będzie przyjmować unikalny dla każdego elementu klucz. * T - typ wartości mapowanej, danych identyfikowanych z kluczem. * Compare - klasa porównująca dwa elementy typu Key, zwracająca true jeśli pierwszy z parametrów powinien być umieszczony w mapie przed drugim (jest nie większy). * Allocator - typ obiektu alokującego. Domyślnie używana jest klasa allocator.\\ \\ === Iteratory === 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. <code c++> typedef pair<const Key, T> value_type; </code> Tak więc wyłuskany iterator (*i) wskazuje na znaleziony obiekt value_type. === Najważniejsze metody === == Iteratory == | begin | Zwraca Iterator na początek mapy. | | end | Zwraca Iterator na koniec mapy (nie istniejący w mapie). | == Zawartość mapy == | empty | sprawdza, czy mapa zawiera jakiekolwiek elementy | | size | zwraca liczbę elementów w mapie | | max_size | zwraca maksymalną liczbę elementów w mapie | == Modyfikatory == | insert | wstawia nowy element | | erase | usuwa istniejący element | | swap | zamienia zawartość mapy która wywołuje z mapą podaną w parametrze | | clear | usuwa zawartość mapy | == Inne == | find | znajduje element o zadanym kluczu w mapie | | count | zlicza elementy o zadanym kluczu w mapie (może zwrócić 0 lub 1) | | operator[] | umożliwia dostęp do elementu o kluczu podanym operatorowi | \\ === Więcej informacji === [[http://msdn.microsoft.com/en-us/library/s44w4h2s.aspx|MSDN]]\\ [[http://www.sgi.com/tech/stl/Map.html|SGI Doc]]\\ [[http://www.cplusplus.com/reference/stl/map/|C++ Reference]]\\ [[http://en.wikipedia.org/wiki/Map_(C%2B%2B_container)|Wikipedia]]\\
opis_kontenera/map.txt
· ostatnio zmienione: 2008/12/07 19:07 przez
sobol
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry