Przestrzenie nazw
Warianty
Działania

Mapy

Z cppreference.com
< cpp‎ | container

Mapy (inaczej słowniki) to posortowane kontenery asocjacyjne zawierające unikatowe pary klucz/wartość. Przykładowo, można utworzyć mapę kojarzącą słowa z liczbami i wtedy zastosować tę mapę do powiązania liczby dni w miesiącu z nazwą miesiąca.

map_constructors default methods to allocate, copy, and deallocate maps
map_operators assign, compare, and access elements of a map
map_typedefs typedefy mapy
begin zwraca iterator do pierwszego elementu mapy
clear usuwa wszystkie elementy z mapy
count zwraca ilość elementów pasujących do określonego klucza
empty true jeśli mapa nie ma elementów
end zwraca iterator do elementu za elementem ostatnim mapy
equal_range zwraca iteratory do pierwszego i jednego za ostatnim elementem pasujących do określonego klucza
erase usuwa elementy z mapy
find returns an iterator to specific elements
insert dodaje element do mapy
key_comp zwraca funkcję, która porównuje klucze
lower_bound zwraca iterator do pierwszego elementu większego lub równego określonej wartości
max_size zwraca liczbę będącą największą ilością elementów jaką mapa może zawierać
rbegin returns a reverse_iterator to the end of the map
rend returns a reverse_iterator to the beginning of the map
size zwraca liczbę elementów mapy
swap zamienia zawartość mapy z innym kontenerem
upper_bound zwraca iterator do pierwszego elementu większego od określonej wartości
value_comp zwraca funkcję porównującą wartości


[edytuj] Tworzenie mapy

#include <map> // biblioteka definiująca std::map
 
std::map < typename x, typename y > nazwa_mapy;

- Ta instrukcja definiuje mapę o nazwie nazwa_mapy, która przypisuje wartości typu danych y wartościom o typie danych x. Można podać każdy typ danych/klasę.

#include <map> // biblioteka definiująca std::map
#include <string> // biblioteka definiująca std::string
 
std::map < std::string, int > slownik;

- Mapa slownik przypisująca liczby całkowite (int) stringom.

[edytuj] Odwzorowania

#include <map> // biblioteka definiująca std::map
#include <string> // biblioteka definiująca std::string
#include <iostream> // biblioteka dafiniująca std::cout
 
int main()
{
    std::map < std::string, int > slownik;
    slownik["slowo"] = 45; // przypisuje 45 do "slowo"
    std::cout << "Słowu \"slowo\" przypisano wartość: " << slownik["slowo"] /* pokaże przypisaną liczbę całkowitą do stringa "slowo" */ ;
    return 0;
}

Wynik:

Słowu "slowo" przypisano wartość: 45