Formation C++ : Evolutions des versions 11 à 23

icon public

Public : Développeurs C++

icon horloge

Durée : 3 jour(s)

Syllabus de la formation C++ : Evolutions des versions 11 à 23

Pré-requis : Connaissance de C++

Objectifs : Apprendre les nouveautés / évolutions sur les versions des dernières années

Sanction : Attestation de fin de formation mentionnant le résultat des acquis

Référence : PRO102895-F

Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins

Contact : commercial@dawan.fr

À partir de

1 375,00 € HT / jour

Tarif pour une personne à distance sans frais
+ 75,00 € HT par participant supplémentaire
+ frais en cas de formation présentielle

1 980,00 € HT

1 500,00 € HT

Pour 20 tickets de 30mn (10 heures) utilisables pendant 12 mois

2 475,00 € HT

Tarif plein :

  • Paiement à 60 jours
  • Report possible à J-3
  • 3 tickets d'assistance

1 980,00 € HT

Tarif remisé :

Contacter Dawan

Programme de Formation C++ : Evolutions des versions 11 à 23

Identifier les évolutions clés du core language

Comprendre l’approche “feature testing” et le principe de détection de fonctionnalités à la compilation
Exploiter l’opérateur spaceship et les catégories de comparaison
Renforcer la programmation à la compilation avec constexpr, consteval et constinit
Écrire plus simplement avec les fonctions génériques abrégées (auto) et les lambdas génériques étendues
Maîtriser l’initialisation explicite des membres de structures et l’usage de using enum
Approfondir les apports de C++23 : if consteval, littéraux améliorés, déduction de this, approche fluent / builder pattern, nouveaux attributs [[likely]], [[unlikely]], [[assume]], opérateur () statique
Atelier pratique : moderniser un code C++11 vers C++20/23 en appliquant constexpr/consteval, spaceship, deducing this et attributs de branchement

Structurer les templates avec les concepts

Comprendre l’objectif des concepts : contraindre les templates et améliorer la lisibilité
Replacer les concepts dans l’évolution C++11 à C++23
Définir un concept et l’appliquer sur des fonctions et des classes templates
Utiliser les concepts de la bibliothèque standard
Mettre en œuvre requires et les expressions associées
Exprimer des restrictions sur types avec requires (requires {…}) et des expressions multiples
Gérer le support des spécificateurs de fonction dans les contraintes
Exploiter les apports C++23 : nouveaux concepts STL, concepts et lambdas, déduction améliorée de this (deducing this), alias de types et concepts, diagnostics plus explicites
Atelier pratique : sécuriser une API template avec concepts/requires et comparer les diagnostics avant/après

Exploiter ranges et views pour écrire des algorithmes expressifs

Comprendre la simplification de l’usage des algorithmes via ranges
Maîtriser les concepts fondamentaux des ranges et des views
Utiliser les projections et raisonner sur l’évaluation paresseuse (lazy mode)
Composer des générateurs infinis et finis
Assembler des pipelines de views : combine, filter, transform, take, drop…
Arbitrer élégance versus performances dans des chaînes de transformations
Approfondir C++23 : vues enrichies (chunk, slide, zip, join_with…), conversions ranges vers conteneurs, nouveaux algorithmes (contains, starts_with, iota…), création de vues personnalisées
Atelier pratique : refactorer un traitement de données “boucles + temporaires” en pipeline ranges/views, puis mesurer l’impact lisibilité/performance

Adopter les modules et préparer la migration depuis les headers

Revenir sur le modèle historique des headers et ses limites (temps de compilation, dépendances)
Comprendre l’anatomie d’un module et la notion d’interface (export module)
Séparer interface et implémentation de module
Comparer import et include et définir une stratégie d’importation
Utiliser les partitions de modules et le module global fragment
Définir des stratégies de migration progressive headers vers modules
Intégrer les apports C++23 dans une base modulaire : constexpr, if consteval, deducing this
Atelier pratique : modulariser une librairie interne (1 module exporté, 1 partition, migration progressive depuis un header)

Mettre à profit les nouveautés de la bibliothèque standard

Découvrir les nouveaux conteneurs et adaptateurs de données contiguës : flat_map, flat_set
Exploiter de nouveaux algorithmes et méthodes : contains, starts_with…
Utiliser un formatage moderne avec placeholders
Manipuler les utilitaires et types récents : expected<T, E> en C++23, std::print, std::span
Comprendre les apports modernes en concurrence : jthread, std::barrier
Atelier pratique : améliorer une couche “I/O + erreurs + concurrence” avec expected, print, span, jthread et barrier

Introduire les coroutines et choisir les bons cas d’usage

Comprendre le principe : suspension et reprise automatique d’une fonction
Identifier les concepts-clés : handle, promise, awaitable, points de suspension/reprise
Manipuler les mots-clés C++20 : co_return, co_yield, co_await
Construire des générateurs basés sur coroutines
Modéliser des tasks / futures et clarifier l’intégration avec l’existant
Atelier pratique : implémenter un générateur puis une task asynchrone simple, et comparer avec une approche itérateurs/futures classiques

Cette formation couvre les évolutions majeures du langage C++ et de la bibliothèque standard de C++11 à C++23, avec un focus sur les nouveautés les plus utiles en production : core language, concepts, ranges/views, modules, bibliothèque standard et coroutines. 

Délai d'accès  :

Le délai d’accès à la formation certifiante est de 7 jours après validation du dossier. Dans le cas d’un financement via votre CPF, la validation de votre dossier devra être réalisée 11 jours ouvrés avant le début de formation. Hors certification CPF, délais d'accès de une à trois semaines en fonction des sessions ouvertes.

Méthodes mobilisées  :

  • Un formateur expert ayant suivi une formation à la pédagogie et ayant au minimum 3 année d'expériences dans le domaine visé
  • Matériel pour les formations présentielles informatiques  : un PC par participant
  • Un support et les exercices du cours pour chaque stagiaire
  • Synchrone en présentiel ou distanciel. Plateforme utilisée  : Microsoft Teams. Pour le distanciel  : diagnostic technique avec les stagiaires pour tester la connexion et les modalités pratiques.
  • Méthodologie basée sur l'Active Learning (75% de pratique minimum) et un programme pédagogique riche et interactif  :
  • Expositive : Apport de contenu théorique structuré pour consolider vos connaissances.
  • Interrogative : Moments de réflexion pour questionner et approfondir vos pratiques.
  • Démonstrative : Exercices pratiques pour illustrer les concepts clés.
  • Active : Ateliers d'entraînement pour une mise en application immédiate.
  • Expérimentale : Études de cas concrets pour ancrer les apprentissages dans la réalité.
  • Collaborative : Espaces de partage et d'échange d'expériences pour enrichir la formation.
  • Un format conçu pour favoriser l'engagement, la pratique et l'impact durable dans vos activités professionnelles.

Méthodes d'évaluation  :

Les évaluations en cours de formations sont réalisées par les ateliers de mise en pratique et les échanges avec les formateurs.

Un espace apprenant dédié moncompte.dawan.fr pour  :

  • Informations relatives à la ou aux futures formations (plan, syllabus et éventuellement informations relatives à la certification)
  • Positionnement à l'entrée et à la sortie de la formation
  • Définition des besoins et attentes par l'apprenant en amont de la formation
  • Émargement en ligne
  • Évaluation à chaud
  • Évaluation à froid
  • Attestation de formation
  • Boissons offertes pendant les pauses en inter-entreprises
  • Salles lumineuses et locaux facilement accessibles
  • Certification CPF quand formation éligible

Suite de parcours et formations associées

Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.

Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 09 72 37 73 73 (prix d'un appel local) ou depuis notre formulaire de contact.