Nouveautés de C++20 et C++23
Cette formation présente les nouvelles fonctionnalités de C++ 20 et 23. Elle détaille les améliorations qui permettent d'écrire rapidement du code plus sûr et plus rapide (modules, concepts, threads, range, formatage…).
Objectifs
- Développer du code de meilleure qualité en utilisant les nouvelles fonctionnalités des versions 20 et 23
- Savoir utiliser les nouveautés de la bibliothèque standard
Programme
Rappels sur les versions de C++
- Historique des versions depuis C++11, C++14 et 17
- Présentation des nouveautés majeures de C++20 (module, concept, range et coroutines)
- Présentation des nouveautés de C++23
Modules
- Contraintes de la compilation et du préprocesseur
- Présentation des modules
- Implémentation des modules
- Utilisation
- Apports de C++23 (import std, …)
Concepts
- Erreurs de compilation lors d’une mauvaise utilisation de template
- Présentation de la bibliothèque Concept
- Création de contraintes
Range Library
- Présentation
- Range adapter et generator
- Enchainement
- Filter
- Transform
- Apports de C++23 (std::ranges::to, …)
Coroutines
- Programmation asynchrone
- Présentation des coroutines
- Générateur
- Apports de C++23 (std ::generator, …)
- Exemples d’utilisation
Nouvel opérateur de comparaison
- Opérateur <=>
- Opérateur <=> par défaut
- Impact sur les comparaisons
Améliorations du langage
- using enum
- Amélioration des expressions lambda
- Initialiseurs désignés
- Extensions de constexpr : consteval et constinit
- Attributs likely,unlikely,no_unique_address
- Opérateur d'indice multidimensionnel (C++23)
- if consteval (C++23)
- Passage explicite de l’instance en paramètre (deducing this) (C++23)
- Surcharges statiques de operator() et operator[] (C++23)
Formatage de texte
- Présentation de la bibliothèque
- Syntaxe et utilisation de std ::format
- Syntaxe et utilisation de format_to et format_to_n
- Apports de C++23 (std::print, std::println, …)
- Extensions de format
Multithread
- Rappels sur les threads depuis C++11
- jthread
- Sémaphores
- Latch et Barrier
- Smart pointeurs atomiques
Autres extensions de la STL
- Calendriers
- std::span
- flat_map et flat_set (C++23)
- Gestion des erreurs avec std::expected (C++23)
- Fonctions monadiques de std::optional (C++23)
Télécharger le programme détaillé
En savoir plus
Prochaines sessions
Inter Entreprises
Grenoble : 14 - 16 septembre 2026 S'inscrire
Grenoble : 12 - 14 octobre 2026 S'inscrire
Grenoble : 16 - 18 novembre 2026 S'inscrire
Grenoble : 7 - 9 décembre 2026 S'inscrire
Sessions
Intra Entreprise
Des sessions intra-entreprise peuvent être organisées dans vos locaux ou en distanciel. Demander un devis
Pré requis
Connaissance et pratique du C++ 11 ou ultérieur
Public
Développeurs C++ souhaitant améliorer leur code grâce aux nouvelles fonctionnalités de C++ 20 et C++ 23
Coût
2100 € HT - 2100 € TTC