- Cours pratique
- Informatique
Formation Du C++ 11 au C++20 pour développeur C++
Tirer parti des nouvelles fonctionnalités à partir de la version 2011 de C++

- Durée
- 3 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation C++-11 C++-20
Cette formation C++11/C++20 vous présente sous un angle conceptuel et opérationnel les nouveautés du langage C++ depuis la version 2011. Plus généralement, au-delà des nouveautés, vous disposerez d’une vue complète sur le langage C++.
Après avoir présenté les différences au niveau de l’environnement de développement et des compilateurs, nous présentons le positionnement de la bibliothèque STL.
Vous apprenez à utiliser la puissance des lambda-expressions pour combiner les avantages des pointeurs et des objets de fonction tout en évitant leurs inconvénients.
Vous allez comprendre les apports dans la mise en œuvre de la puissante bibliothèque de templates STL (Standard Template Library) notamment pour les algorithmes et structures autour des vecteurs, listes, file, et piles.
Vous saurez gérer le temps de façon efficace avec le namespace chrono. Enfin, la programmation des threads vous permettra de savoir mettre en œuvre la programmation parallèle en C++.
Les dernières nouveautés, à savoir les co-routines et modules de C++ 20, sont également traitées.

Objectifs pédagogiques
À l'issue de cette formation C++11/C++20, vous serez en mesure de :
- Identifier les évolutions majeures du langage depuis C++11
- Mettre en œuvre les concepts modernes : sémantique de mouvement, smart pointers, lambdas, ranges, coroutines
- Utiliser efficacement la STL moderne et les nouvelles bibliothèques introduites jusqu’à C++23
- Structurer un projet avec CMake et les outils de développement récents
- Exploiter les possibilités de la programmation générique et asynchrone
- Appliquer les bonnes pratiques pour écrire un C++ lisible, sûr et performant
Objectifs opérationnels
Comprendre, maîtriser et mettre en œuvre les principales nouveautés introduites par les standards C++11, C++14, C++17, C++20 et C++23, afin de développer des applications modernes, sûres, performantes et maintenables.
Programme
Contenu du cours
Évolution du langage et des outils
CHistorique des versions : de C++11 à C++23Positionnement de la norme C++23 et perspectives C++26
Outils modernes : GCC 14, Clang 18, MSVC 2022
IDE actuels : Visual Studio Code, CLion, Visual Studio
Outils de build et de gestion : CMake, Conan
Bonnes pratiques de compilation multi-version (-std=c++20, -std=c++23)Travaux pratiquesTest de la version installée
Les nouveautés du langage C++11/C++17
auto, decltype, constexpr
Sémantique de mouvement et rvalue references
unique_ptr, shared_ptr, weak_ptr
Lambda expressions et closures
Initialisation uniforme, nullptr, enum class
Multithreading moderne (std::thread, std::mutex, future, async)
Fonctions de temps (std::chrono)
Les apports majeurs de C++20
Concepts et contraintes de template (requires, concept)
Ranges et algorithmes modernisés (views::filter, views::transform)
Modules : compilation rapide et découplage des dépendances
Coroutines : fonctions asynchrones légères
Nouveaux mots-clés : consteval, constinit, likely, no_unique_address
Nouvel opérateur de comparaison <=>
Nouveautés C++23 et bonnes pratiques modernes
Nouvelles classes et API standard :
std::expected, std::print, std::mdspan, std::flat_map, std::barrier, std::latch
Améliorations des ranges (views::zip, join_with, cartesian_product)
Évolutions du constexpr et des templates
Bonnes pratiques de style et guidelines modernes (RAII, exceptions, constexpr design)
Tests unitaires modernes : Catch2, GoogleTest
Projet fil rouge
Conception d’une application C++23 complète intégrant :
- Modules, coroutines et concepts
- Ranges et STL moderne
- Threads et synchronisation
- Compilation et exécution via CMake
Programme mis à jour le 03/11/2025
Public concerné
Ce cours C++11/C++20 s'adresse principalement aux développeurs d'applications.

Prérequis
Pour suivre cette formation C++11/C++20, il est nécessaire d'avoir de bonnes connaissances en langage C++. Une expérience de développeur en programmation C++ est vivement recommandée pour tirer pleinement profit de cette formation.
Avoir suivi la formation Programmation en C++ (DPOC) ou posséder un niveau équivalent est un minimum.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4/5
3 avis
« Mon avis sur le contenu du stage : "3 jours c'est trop court, nous n'avons pas eu le tps d'approfondir les concepts C++" Mon avis sur le formateur : "Très bon. Conseil: devrait passer un peu moins de temps sur les concepts les plus simples pour gagner du temps pour les plus compliqués." »
DP « Mon avis sur le contenu du stage : "Peut etre un peu plus accentuer, sur les bonnes pratiques à avoir de l'utilisations des nouvelles methodes apprises. Mais donne de bonnes bases solides et bons rappels fondamentaux à bien connaître" »
CM « Mon avis sur le contenu du stage : "contenu dense" »
LE
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.