Informatique

Formation Maîtriser le C++20 : Mise à Jour Essentielle pour Développeurs Confirmés

Mettez à niveau vos compétences en C++ avec les nouveautés de la norme C++20. Apprenez les modules, les coroutines, les concepts, la gestion des plages et toutes les optimisations. Cette formation est essentielle pour développer des applications modernes et performantes. Acquérir une expertise solide en C++20.

Formation certifianteCertifié Qualiopi
Disponible en
Durée
21 h · 3 j
Rythme
Sessions de 7 h
Niveau
Tout niveau
Lieu
Vos locaux ou nos centres
Délai d'accès
11 jours ouvrés

Tarif intra-entreprise

Sur devis

Groupe jusqu'à 10 personnes · programme adaptable

Demander un devisÊtre rappelé par un conseiller

Réponse sous 24 h ouvrées · sans engagement

Financement

OPCOPlan de développement des compétencesFNE / FAFSimuler mon financement

Objectifs de la formation

Maîtriser le système de modules C++20 pour une organisation efficace de votre code
Utiliser les coroutines pour une programmation asynchrone efficace et performante
Appliquer les concepts et plages pour un code robuste et facile à maintenir
Intégrer les nouveautés de la STL et du langage C++20 pour maximiser les performances de vos applications

Programme détaillé

12 modules · 21 heures
01

Introduction à C++20 et l'écosystème de développement

  • —Vue d'ensemble des nouveautés majeures de C++20
  • —Configuration de l'environnement de développement (compilateurs récents)
  • —Rappel des bases de C++ (si nécessaire, rapide)
02

Les Modules C++ : Fondements et Avantages

  • —Problématiques posées par les fichiers d'en-tête traditionnels
  • —Introduction aux modules : interface, implémentation, partition
  • —Importation et exportation de modules
03

Utilisation Avancée des Modules C++

  • —Implémenter des modules pour structurer des projets C++ complexes
  • —Optimiser le temps de compilation avec des modules bien définis
  • —Utiliser des modules pour encapsuler des dépendances externes
  • —Exploiter les interfaces de module pour une meilleure réutilisabilité
  • —Gérer les versions de modules pour assurer la compatibilité du code
04

Concepts C++ : Renforcer la Sécurité du Code

  • —Utiliser les concepts pour restreindre les types et améliorer la sécurité
  • —Définir des contraintes sur les types avec des concepts personnalisés
  • —Valider les propriétés des types avant leur utilisation dans les templates
  • —Appliquer les concepts pour documenter les attentes des interfaces
  • —Réduire les erreurs de compilation grâce à des messages d'erreur clairs
05

Coroutines C++ : Programmation Asynchrone Simplifiée

  • —Fondements des coroutines : `co_await`, `co_yield`, `co_return`
  • —Implémentation de fonctions asynchrones simples
  • —Gestion de l'état des coroutines
06

Coroutines Avancées et Cas d'Usage

  • —Intégration des coroutines dans des architectures événementielles
  • —Exemples concrets d'utilisation : I/O non bloquantes
  • —Optimisation et performance des coroutines
07

Ranges (Plages) C++ : Manipulation Efficace des Collections

  • —Explorer les concepts de base des ranges et leur syntaxe en C++20
  • —Manipuler des collections avec des vues pour optimiser les performances
  • —Appliquer des algorithmes sur des ranges pour simplifier le code
  • —Créer des adaptateurs de ranges pour des transformations personnalisées
  • —Intégrer les ranges dans des projets existants pour une mise à niveau efficace
08

Algorithmes et Adaptateurs de Plages

  • —Nouveaux algorithmes C++20 tirant parti des plages
  • —Création d'adaptateurs de plages personnalisés
  • —Optimisation des performances avec les plages
09

Améliorations du Langage et de la Bibliothèque Standard

  • —Opérations trilatérales (opérateur vaisseau spatial)
  • —Nouveautés dans la bibliothèque standard (smart pointers, conteneurs)
  • —`std::span`, `std::jthread` et autres ajouts
10

Concurrence et Parallélisme en C++20

  • —Rappels sur les threads et mutex (rapide)
  • —`std::jthread` pour une meilleure gestion des threads
  • —Atomic Strong Ordering et améliorations de la mémoire
11

Les Nouveautés Importantes : Statistiques et Utilitaires

  • —`std::chrono` amélioré et fuseaux horaires
  • —Formatage de chaînes de caractères avec `std::format`
  • —Autres utilitaires pratiques de C++20
12

Bonnes Pratiques et Migration vers C++20

  • —Stratégies de migration de bases de code existantes vers C++20
  • —Bonnes pratiques de code C++20 moderne
  • —Résoudre les défis courants et exploiter pleinement C++20
Le conseil de l'expert

L'un des objectifs pédagogiques clés de notre formation "Maîtriser le C++20" est de vous permettre d'utiliser les coroutines pour une programmation asynchrone efficace et performante. Ce concept, bien que puissant, représente souvent un défi pour les développeurs confirmés qui peinent à l'intégrer de manière fluide dans leur code existant. Notre approche se concentre sur la pratique et l'application directe des coroutines dans des projets réels, garantissant ainsi une compréhension approfondie. Un défi fréquent rencontré par les développeurs expérimentés est la difficulté à adapter leurs connaissances antérieures des versions précédentes du C++ aux nouvelles fonctionnalités introduites par C++20. Cette transition peut engendrer des erreurs de conception ou des performances sous-optimales. Grâce à notre formation, vous apprendrez à surmonter ces obstacles en intégrant efficacement les modules et les concepts de C++20, ce qui vous permettra de produire un code à la fois plus performant et plus sécurisé. Ce qui distingue notre formation des autres approches est notre attention particulière à l'intégration des nouveautés de la STL dans le contexte de projets réels. En nous concentrant sur des cas d'usage concrets, nous vous fournissons des outils et des techniques qui vous permettent non seulement de comprendre les nouveautés de C++20, mais aussi de les appliquer immédiatement pour améliorer la qualité de votre code et optimiser vos applications. Pour tirer le maximum de cette formation, nous vous recommandons d'arriver avec des projets en cours ou des exemples concrets de code sur lesquels vous travaillez. Cela vous permettra de bénéficier d'une approche personnalisée où vous pourrez discuter de vos défis spécifiques et recevoir des conseils directs sur l'intégration des concepts appréhendés. Votre engagement et votre curiosité seront des atouts majeurs pour faire de cette formation une expérience enrichissante et transformative.

Pourquoi choisir cette formation en informatique

🎯

Modules pour une meilleure organisation

Découvrez comment le système de modules C++20 permet d'organiser votre code de manière efficace, facilitant sa maintenance et sa compréhension.

🚀

Programmation asynchrone simplifiée

Maîtrisez les coroutines pour optimiser la gestion des tâches asynchrones, garantissant des applications plus réactives et performantes.

🔒

Renforcement de la sécurité du code

Apprenez à appliquer des concepts C++ pour améliorer la sécurité et la robustesse de votre code, réduisant ainsi les erreurs en production.

⚙️

Intégration des nouveautés STL

Profitez des dernières améliorations de la STL et de C++20 pour maximiser les performances de vos applications et simplifier le développement.

📚

Formation inter-entreprises

Participez à des sessions dynamiques avec d'autres experts, favorisant le partage d'expériences et d'approches innovantes dans le développement C++.

🛠️

Cas d'usage pratiques

Appliquez vos connaissances à des cas d'usage concrets lors des modules avancés, garantissant une compréhension approfondie et opérationnelle des nouvelles fonctionnalités.

Compétences acquises

Maîtriser le système de modules C++20

Concevoir et implémenter des applications modularisées, gérer les dépendances et importer/exporter correctement les modules C++20 pour une compilation rapide et des architectures robustes.

Utiliser les coroutines pour la programmation asynchrone

Développer des composants asynchrones et des opérations I/O non bloquantes en utilisant les coroutines C++20 (`co_await`, `co_yield`), optimisant la performance et la réactivité des applications.

Appliquer les concepts et plages pour un code robuste

Écrire des gabarits plus sûrs et expressifs avec les concepts C++20, et manipuler efficacement les collections de données complexes grâce à la bibliothèque Ranges pour des pipelines clairs et optimisés.

Intégrer les nouveautés de la STL et du langage C++20

Exploiter les dernières améliorations de la bibliothèque standard C++20, telles que `std::jthread` et `std::format`, ainsi que les nouvelles fonctionnalités du langage, pour un code moderne et performant.

Public, prérequis et modalités

Public visé

Développeurs C++ expérimentés Ingénieurs logiciels Architectes logiciels Chefs de projet technique

Prérequis

Connaissance de base du langage C++ et expérience de développement.

Moyens pédagogiques

Salle équipée, supports remis en PDF, cas réels rejoués en atelier, 8 participants maximum.

Suivi & évaluation

Évaluation continue pendant la formation à travers des exercices et des projets Évaluation finale à l'aide d'un projet de développement intégrant les compétences acquises Soutenance d'un projet personnel ou professionnel pour valider les acquis

Accessibilité

Notre organisme de formation s'engage à accueillir et accompagner les personnes en situation de handicap. Notre référente handicap, Mme Lorène Travaux est disponible pour étudier avec vous les adaptations pédagogiques, techniques ou logistiques nécessaires avant toute inscription.

Financer cette formation

Plusieurs dispositifs permettent de prendre en charge tout ou partie du coût. Nos conseillers identifient avec vous la solution la plus adaptée à votre situation.

OPCO

Formations financées via votre opérateur de compétences

Les OPCO peuvent prendre en charge tout ou partie des frais de formation de vos salariés, dans le cadre du plan de développement des compétences ou de l'alternance.

En savoir plus

FAF

Aide à la formation pour les indépendants

Les Fonds d'Assurance Formation financent les formations des indépendants, auto-entrepreneurs, professions libérales et chefs d'entreprise (FAFCEA, AGEFICE, FIFPL…).

En savoir plus

France Travail

Des aides pour les demandeurs d'emploi

France Travail peut financer votre formation via l'AIF (Aide Individuelle à la Formation) ou des achats directs. Parlez-en à votre conseiller pour vérifier votre éligibilité.

En savoir plus

Employeur

Votre entreprise peut financer votre formation

Dans le cadre du plan de développement des compétences, l'employeur prend en charge le coût pédagogique et maintient la rémunération pendant la formation.

En savoir plus

FNE-Formation

Un soutien pour les entreprises en transformation

Le FNE-Formation accompagne les entreprises en mutation économique ou en transition écologique et numérique, avec une prise en charge pouvant aller jusqu'à 100 %.

En savoir plus

Besoin d'aide pour choisir votre dispositif ?

Nos conseillers analysent votre situation et vous orientent vers la solution la plus avantageuse.

Être conseillé gratuitement

Ils ont suivi cette formation

« Après la formation, le participant a intégré des coroutines dans un projet de développement, ce qui a considérablement amélioré la performance de l'application. »

Participant à cette formation · avis recueilli en fin de session

« Il a également commencé à utiliser les nouveaux modules C++20 pour structurer son code de manière plus efficace, facilitant ainsi sa maintenance. »

Participant à cette formation · avis recueilli en fin de session

Questions fréquentes

- Maîtrise solide du langage C++ (C++11/14/17). - Connaissances des concepts de programmation orientée objet. - Familiarité avec un environnement de développement intégré (IDE) C++. - Notions de base en compilation et gestion de dépendances sont un plus.

Demandez un devis pour la formation Maîtriser le C++20 : Mise à Jour Essentielle pour Développeurs Confirmés

Programme adaptable à votre contexte. Réponse sous 24 h ouvrées, sans engagement.

Demander un devisCertifié Qualiopi · Financement OPCO / FAF

Formations similaires

Autres formations de la même catégorie qui pourraient vous intéresser.

Certification Usages Informatique et Numérique

14 h

Voir la formation

Maîtriser l'Analyse Forensic Cyber : Enquêtes Numériques Avancées

21 h

Voir la formation

Apprenez les fondamentaux des bases de données relationnelles

21 h

Voir la formation