Přeskočit na obsah
Modul 5

STL a algoritmy

Zvládněte standardní knihovnu šablon – kontejnery, iterátory, algoritmy, rozsahy a funkční programování.

Kontejnery

  1. Sekvenční kontejnery: vektor, deque, seznam, pole

    Explore the sequence containers in the STL — vector, deque, list, forward_list, and array. Learn their performance trade-offs, memory layouts, and iterator invalidation rules.

  2. Associative Containers: map, set, unordered_map

    Learn about ordered and unordered associative containers — maps, sets, and their multi- and unordered variants. Understand when to choose trees vs hash tables.

  3. Kontejnerové adaptéry a speciální kontejnery

    Přečtěte si o zásobníku, frontě, prioritě_fronty a moderních typech slovní zásoby, jako je span, string_view a optional. Pochopte, kdy adaptéry zjednodušují váš kód.

Iterátory a algoritmy

  1. Iterátory: Lepidlo STL

    Pochopte kategorie iterátorů, od vstupních iterátorů po souvislé iterátory. Naučte se aritmetiku iterátoru, konvenci začátku/konce a to, jak iterátory propojují kontejnery s algoritmy.

  2. Algoritmy STL: Síla <algoritmu>

    Zvládněte nejdůležitější algoritmy STL – od vyhledávání a třídění až po transformaci a akumulaci. Zjistěte, jak se algoritmy skládají pomocí iterátorů pro expresivní a efektivní kód.

  3. Lambdy a funkční programování

    Master C++ lambda — zachycovací seznamy, měnitelné lambdy, generické lambdy a jejich použití jako predikáty algoritmů. Naučte se std::function, std::invoke a vzor IIFE.

Rozsahy a zobrazení (C++20)

  1. Rozsahy C++20: Nové paradigma

    Objevte řady C++20 — moderní redesign rozhraní algoritmu STL. Naučte se koncepty rozsahů, algoritmy založené na rozsahu, projekce a operátor potrubí pro transformace složených dat.

  2. Pohledy, líné hodnocení a kompozice

    Pohledy Master C++20 — lehké, líné adaptéry dosahu, které se skládají s obsluhou potrubí. Naučte se filtrovat, transformovat, brát, upouštět, rozdělovat, spojovat, iota a jak budovat výkonné datové kanály bez přechodných alokací.