GeeksforGeeks
On 28 října, 2021 by adminStandardní knihovna šablon (STL) je sada šablonových tříd jazyka C++, které poskytují běžné programovací datové struktury a funkce, jako jsou seznamy, zásobníky, pole atd. Jedná se o knihovnu kontejnerových tříd, algoritmů a iterátorů. Jedná se o zobecněnou knihovnu, a proto jsou její součásti parametrizovány. Předpokladem pro práci s STL je znalost šablonových tříd.
STL má čtyři komponenty
- Algoritmy
- Kontejnery
- Funkce
- Iterátory
Algoritmy
Záhlaví algoritmu definuje kolekci funkcí speciálně navržených pro použití na rozsahy prvků.Působí na kontejnery a poskytují prostředky pro různé operace s obsahem kontejnerů.
- Algoritmus
- Třídění
- Vyhledávání
- Důležité algoritmy STL
- Užitečné algoritmy pole
- Operace s rozdělením
.
- Třída Numeric
- valarray
Kontejnery
Kontejnery neboli třídy kontejnerů uchovávají objekty a data. Existuje celkem sedm standardních tříd kontejnerů „první třídy“ a tři třídy adaptérů kontejnerů a pouze sedm hlavičkových souborů, které zajišťují přístup k těmto kontejnerům nebo adaptérům kontejnerů.
- Sekvenční kontejnery: implementují datové struktury, ke kterým lze přistupovat sekvenčním způsobem.
- vektor
- seznam
- deka
- pole
- forward_list( Zavedeno v C++11)
- Adaptéry kontejnerů : poskytují jiné rozhraní pro sekvenční kontejnery.
- queue
- priority_queue
- stack
- Asociativní kontejnery : implementují setříděné datové struktury, které lze rychle prohledávat (složitost O(log n)).
- set
- multiset
- map
- multimap
- Uspořádané asociativní kontejnery : implementují neuspořádané datové struktury, které lze rychle prohledávat
- unordered_set (zavedeno v C++11)
- unordered_multiset (zavedeno v C++11)
- unordered_map (zavedeno v C++11)
- unordered_multimap (zavedeno v C++11)
Blokové schéma přizpůsobených kontejnerů a neuspořádaných kontejnerů
Blokové schéma sekvenčních kontejnerů a uspořádaných kontejnerů
Funkce
Součástí STL jsou třídy, které přetěžují operátor volání funkce. Instance takových tříd se nazývají objekty funkcí nebo funktory. Funktory umožňují přizpůsobit práci přidružené funkce pomocí předávaných parametrů.
- Funktory
Iterátory
Jak název napovídá, iterátory slouží k práci nad posloupností hodnot. Jsou hlavním prvkem, který umožňuje obecnost v STL.
- Iterátory
Knihovna nástrojů
Definováno v hlavičce <utility>.
- pár
.
Napsat komentář