Aller au contenu
Module 5

STL & Algorithmes

Maîtrisez la Standard Template Library — conteneurs, itérateurs, algorithmes, ranges et programmation fonctionnelle.

Conteneurs

  1. Conteneurs séquentiels : vector, deque, list, array

    Explorez les conteneurs séquentiels de la STL — vector, deque, list, forward_list et array. Découvrez leurs compromis de performance, dispositions mémoire et règles d'invalidation des itérateurs.

  2. Conteneurs associatifs : map, set, unordered_map

    Découvrez les conteneurs associatifs ordonnés et non ordonnés — maps, sets et leurs variantes multi- et unordered. Comprenez quand choisir les arbres plutôt que les tables de hachage.

  3. Adaptateurs de conteneurs et conteneurs spéciaux

    Découvrez stack, queue, priority_queue et les types vocabulaire modernes comme span, string_view et optional. Comprenez quand les adaptateurs simplifient votre code.

Itérateurs & Algorithmes

  1. Les itérateurs : le ciment de la STL

    Comprenez les catégories d'itérateurs, des itérateurs d'entrée aux itérateurs contigus. Apprenez l'arithmétique des itérateurs, la convention begin/end et comment les itérateurs connectent les conteneurs aux algorithmes.

  2. Algorithmes STL : la puissance de <algorithm>

    Maîtrisez les algorithmes STL les plus importants — de la recherche et du tri à la transformation et l'accumulation. Découvrez comment les algorithmes se composent avec les itérateurs pour un code expressif et efficace.

  3. Lambdas et programmation fonctionnelle

    Maîtrisez les lambdas C++ — listes de capture, lambdas mutable, lambdas génériques et leur utilisation comme prédicats d'algorithmes. Apprenez std::function, std::invoke et le patron IIFE.

Ranges et vues (C++20)

  1. C++20 Ranges : un nouveau paradigme

    Découvrez les ranges C++20 — une refonte moderne de l'interface d'algorithmes de la STL. Apprenez les concepts de range, les algorithmes basés sur les ranges, les projections et l'opérateur pipe pour des transformations de données composables.

  2. Views, évaluation paresseuse et composition

    Maîtrisez les views C++20 — des adaptateurs de range légers et paresseux qui se composent avec l'opérateur pipe. Apprenez filter, transform, take, drop, split, join, iota et comment construire de puissants pipelines de données sans allocations intermédiaires.