> Formations > Technologies numériques > Développement logiciel > C, C++ > Formation C++ expert, les avancées du langage (de C++ 11 à 20)
Formation incontournable

Formation : C++ expert, les avancées du langage (de C++ 11 à 20)

C++ expert, les avancées du langage (de C++ 11 à 20)

Télécharger le programme Partager cette formation


Ce cours vous permettra d'assimiler les nouveautés introduites par les nouveaux standards C++. Vous couvrirez les possibilités de la programmation fonctionnelle, maîtriserez la gestion de la mémoire avec les smart pointers et exploiterez les autres nouveautés de la bibliothèque standard C++.


Inter
Intra
Sur mesure

Cours pratique en présentiel ou en classe à distance

Réf. VEC
Prix : 1870 € H.T.
  3j - 21h00




Ce cours vous permettra d'assimiler les nouveautés introduites par les nouveaux standards C++. Vous couvrirez les possibilités de la programmation fonctionnelle, maîtriserez la gestion de la mémoire avec les smart pointers et exploiterez les autres nouveautés de la bibliothèque standard C++.

Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
  • Appréhender les nouveautés et les améliorations du langage C++
  • Utiliser les lambda expressions
  • Améliorer ses performances avec la sémantique de déplacement
  • Maîtriser les allocations-destructions d'objets avec les smart pointers
  • Développer une application multithreadée

Public concerné
Développeurs C++ souhaitant connaître les nouveautés définies par le standard C++11.

Prérequis
Bonnes connaissances du langage C++. Une expérience pratique de la programmation avec ce langage est recommandée.
Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en faisant  ce test.

Programme de la formation

L'avènement de C++11

  • Les différentes normes C++98, C++03, C++11=, C++14, C++17, C++20.
  • Les nouveautés de C++11 et les objectifs de cette norme. Le devenir de Boost, STL.
  • La question de la compatibilité des codes anciens.
  • La disponibilité des outils de développement (compilateurs, débogueurs, IDE...).
Travaux pratiques
Vérification de l'outillage à l'aide d'un code C++11 fourni.

Les améliorations du langage

  • Les enum fortement typées.
  • Le mot-clé auto et decltype pour simplifier le typage.
  • La boucle basée sur un intervalle.
  • Constexpr pour une évaluation à la compilation.
  • Templates variadiques, concepts de C++20 soucoupe...
  • Coroutines de C++20.
  • Les modules de C++20.
Travaux pratiques
Mise en œuvre des améliorations.

Les modifications au niveau des classes

  • La délégation de constructeurs, les contraintes liées à l'héritage.
  • La nouvelle sémantique du déplacement et le constructeur par déplacement (move constructor).
  • Les directives override, final =delete, =default.
  • Notion de module C++20
Travaux pratiques
Création de classes.

La programmation fonctionnelle avec les expressions lambda

  • Déclaration, typage, implémentation et utilisation.
  • L'intérêt d'auto avec les lambda-expressions.
  • La gestion des fermetures (closures), avec capture par valeur ou par référence des variables liées au contexte.
Travaux pratiques
Exercices de programmation fonctionnelle.

L'utilisation des threads

  • Déclaration et exécution d'un thread. Attente de fin d'exécution avec join().
  • La gestion des données locales à un thread.
  • Récupérer un résultat avec future<> et async().
  • Choisir parmi les différents verrous de la STL.
Travaux pratiques
Multithreader un code séquentiel et mesurer le gain en termes de temps d'exécution.

Autres nouveautés de la bibliothèque standard

  • Ranges avec std ::view pour évaluations à la volée de C++20.
  • La gestion du temps avec le namespace chrono.
  • Le nouveau conteneur tuple.
  • Conteneurs unordered_set, unordered_map à base de hachage.
  • Formatage de string avec C++20.
Travaux pratiques
Mise en œuvre des nouveautés.

La gestion mémoire et les conteneurs

  • Les smart pointers : shared_ptr, weak_ptr, unique_ptr. Usage conjoint avec la STL.
Travaux pratiques
Mise en œuvre de la gestion mémoire C++11.


Modalités pratiques
Travaux pratiques
Des exercices pratiques de programmation permettront d'appréhender les différents concepts abordés.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Avis clients
4,2 / 5
Les avis clients sont issus des évaluations de fin de formation. La note est calculée à partir de l’ensemble des évaluations datant de moins de 12 mois. Seules celles avec un commentaire textuel sont affichées.
CLARA B.
15/07/24
5 / 5

Très bon support et contenu de cours, bien synthétiser et bien illustrer par des exemples!Un petit bémol pour ma part sur le temps accordé au "std::format" et "std::chrono" qui est trop long à mon goût par rapport à d’autres sujets.
BENOIT M.
15/07/24
5 / 5

Je suis très satisfait, cette formation était exactement ce que je cherchais: dérouler toutes les nouveautés intéressantes depuis C++11 et avoir les conseils avec l’expérience de l’animateur, des conseils d’utilisation, des exemples et les raisons de ces nouveautés. De plus les exercices pratiques de temps en temps permettent de vraiment se faire la main sur ces nouveaux outils!
CHRISTOPHE B.
15/07/24
5 / 5

Contenu appréciable grâce à la clairté de présentation pour le séquençage des apparitions des différentes nouveautés avec l’usage des mots clé "C++11, C++17, C++20" dans la présentations.




Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance