GeeksforGeeks
On 28 października, 2021 by adminStandardowa Biblioteka Szablonów (STL) jest zestawem klas szablonów języka C++ zapewniających typowe dla programowania struktury danych i funkcje, takie jak listy, stosy, tablice itp. Jest to biblioteka klas kontenerów, algorytmów i iteratorów. Jest to biblioteka uogólniona, a więc jej elementy są parametryzowane. Robocza znajomość klas szablonów jest warunkiem wstępnym do pracy z STL.
STL ma cztery komponenty
- Algorytmy
- Kontenery
- Funkcje
- Iteratory
Algorytmy
Algorytm nagłówkowy definiuje zbiór funkcji specjalnie zaprojektowanych do użycia na zakresach elementów.Działają one na kontenerach i zapewniają środki do różnych operacji na zawartości kontenerów.
- Algorytm
- Sortowanie
- Szukanie
- Ważne algorytmy STL
- Użyteczne algorytmy tablicowe
- Operacje partycji
.
- Klasa Numeric
- valarray
Kontenery
Kontenery lub klasy kontenerów przechowują obiekty i dane. Istnieje w sumie siedem standardowych klas kontenerów „pierwszej klasy” i trzy klasy adapterów kontenerów oraz tylko siedem plików nagłówkowych, które zapewniają dostęp do tych kontenerów lub adapterów kontenerów.
- Kontenery sekwencyjne: implementują struktury danych, do których można uzyskać dostęp w sposób sekwencyjny.
- vector
- list
- deque
- arrays
- forward_list( Wprowadzone w C++11)
- Adaptory kontenerów : zapewniają inny interfejs dla kontenerów sekwencyjnych.
- queue
- priority_queue
- stack
- Associative Containers : implementują posortowane struktury danych, które mogą być szybko przeszukiwane (złożoność O(log n)).
- set
- multiset
- map
- multimap
- Unordered Associative Containers : implementują nieuporządkowane struktury danych, które mogą być szybko przeszukiwane
- unordered_set (Introduced in C++11)
- unordered_multiset (Introduced in C++11)
- unordered_map (Introduced in C++11)
- unordered_multimap (Introduced in C++11)
Schemat blokowy kontenerów adaptacyjnych i kontenerów nieuporządkowanych
Schemat blokowy kontenerów sekwencyjnych i kontenerów uporządkowanych
Funkcje
W STL znajdują się klasy, które przeciążają operator wywołania funkcji. Instancje takich klas nazywane są obiektami funkcyjnymi lub funktorami. Funktory pozwalają na dostosowanie działania powiązanej funkcji za pomocą przekazywanych parametrów.
- Funktory
Iteratory
Jak sama nazwa wskazuje, iteratory są używane do pracy na sekwencji wartości. Są one główną cechą, która pozwala na generalność w STL.
- Iteratory
Biblioteka narzędziowa
Zdefiniowane w nagłówku <utility>.
- para
.
Dodaj komentarz