STL & Algorithmes
Maîtrisez la Standard Template Library — conteneurs, itérateurs, algorithmes, ranges et programmation fonctionnelle.
Conteneurs
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.
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.
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
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.
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.
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)
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.
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.