Formation C++ expert, les avancées du langage

Le C++ est un langage de programmation compilé très utilisé dans le monde, notamment dans le secteur des jeux vidéos. La formation C++ expert avancées du langage permet de profiter d'une maîtrise d'excellence du langage C++.

Elle s'adresse à des développeurs qui souhaitent se perfectionner. Le participant apprendra à appréhender les nouveautés et les améliorations du langage C++11, 14 Et 17, à exploiter toutes les possibilités de la programmation fonctionnelle, mais également à maitriser les allocations-destructions d'objets, ou encore à utiliser les expressions lambda.

Le participant sera finalement en mesure de développer une application multithreadée.

Formation C++ expert, les avancées du langage

À l’issue de la formation, le participant sera en mesure de :

  • Appréhender les nouveautés et les améliorations du langage C++11, 14 et 17
  • Utiliser les expressions lambda
  • Exploiter les possibilités de la programmation fonctionnelle
  • Maîtriser les allocations-destructions d'objets
  • Développer une application multithreadée

Evaluation de la formation et de votre progression vers vos objectifs

Avant le début de la formation, un questionnaire vous permettra d’exprimer vos objectifs personnels et d’évaluer votre degré de maîtrise des principales thématiques abordées dans la formation.

Pendant la formation, le formateur observera vos pratiques afin de pouvoir vous donner des conseils personnalisés quant aux points forts sur lesquels vous pourrez vous appuyer et aux points de vigilance sur lesquels il doit axer ses efforts.

À la fin de la formation, vous aurez à remplir un questionnaire (QCM et/ou des ateliers et des exercices pratiques) pour évaluer vos nouvelles compétences et votre progression vers vos objectifs. Un questionnaire supplémentaire vous permettra d'indiquer votre niveau de satisfaction à l'égard de la formation.

Un questionnaire d’auto-évaluation à froid vous sera proposé 6 à 9 mois après la fin de formation. Celui-ci vous permettra de prendre du recul sur 

les bénéfices acquis, les efforts restant à déployer et votre degré de satisfaction vis à vis de la formation. 

Cette formation s'adresse aux développeurs C++ souhaitant connaître les nouveautés définies par le standard C++11. 

3 JOURS

L'avènement des C++11, 14 et 17

  • Les différentes versions des normes C++.
  • Les objectifs des versions de C++.
  • La compatibilité des codes anciens.


Travaux pratiques

Vérification de l'outillage à l'aide d'un code C++17 fourni.

Les améliorations du langage

  • Les énumérations fortement typées.
  • Le mot-clé auto pour simplifier le typage.
  • La boucle basée sur un intervalle.
  • Les vérifications de la présence d’un include avec _has_include en C++17.
  • Les initialiseurs dans les if et switch de C++17.
  • Les templates à arguments variables, pointeur nul, littéraux, etc.
  • Constexpr et « if constexpr » de C++17 pour évaluer à la compilation.


Travaux pratiques

Mise en œuvre des améliorations.

Les modifications au niveau des classes

  • La délégation de constructeur.
  • La sémantique de déplacement et le constructeur par déplacement.
  • Les directives =delete, =default =override.
  • Les initialiseurs de conteneurs.


Travaux pratiques

Création de classes C++17.

L'utilisation des threads

  • L'exécution d'un thread. Attente de fin avec join().
  • La gestion des données locales à un thread avec volatile.
  • Comment récupérer un résultat avec future<> et async().


Travaux pratiques

Multithreader un code séquentiel.

Les autres nouveautés de la bibliothèque standard

  • std ::string_view de C++17 : pour le passage de séquences de caractères.
  • FileSystem library de C++17 pour manipuler les fichiers.
  • La gestion du temps avec le namespace chrono.
  • Comment utiliser le nouveau conteneur tuple.


Travaux pratiques

Mise en œuvre des nouveautés.

La programmation fonctionnelle avec les expressions lambda

  • Déclaration, typage, implémentation et utilisation.
  • Capture (closure) par valeur ou par référence des variables liées au contexte.


Travaux pratiques

Exercices de programmation fonctionnelle.

La gestion mémoire et les conteneurs

  • Les conteneurs à base de hachage.
  • Les nouveaux algorithmes de C++11,14,17.
  • Les smart pointers : shared_ptr, weak_ptr, unique_ptr.


Travaux pratiques

Mise en œuvre de la gestion mémoire C++11.

 

Méthodes et moyens

Cette formation repose sur une combinaison de constructions participatives, de mises en perspectives par des apports théoriques et méthodologiques, et de mises en situation (simulation et jeux de rôle) permettant de mettre en évidence les difficultés et de découvrir progressivement les méthodes et techniques appropriées. 

Bonnes connaissances du langage C++. Une expérience pratique de la programmation avec ce langage est recommandée.

  • Rugosité
  • Consciencieux
REF:
NUM_DEV_14
Durée:
3 jours
Modalité Pédagogique:
Nombre de participants:
Prix:
2 000,00 €
Prochaine date de formation : Le délai moyen de mise en œuvre est de 3 semaines à la suite de votre demande.
Modifié le 19-10-2023
REF:
NUM_DEV_14
Durée:
3 jours
Modalité Pédagogique:
Nombre de participants:
Prix:
2 000,00 €
Prochaine date de formation : Le délai moyen de mise en œuvre est de 3 semaines à la suite de votre demande.
Modifié le 19-10-2023