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

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.

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

REF:
NUM_DEV_14
Durée:
3 jours
Modalité Pédagogique:
Nombre de participants:
Prix: 2 000,00 €
Prochaine date de formation : Nous contacter pour plus d'informations
REF:
NUM_DEV_14
Durée:
3 jours
Modalité Pédagogique:
Nombre de participants:
Prix: 2 000,00 €
Prochaine date de formation : Nous contacter pour plus d'informations