> Formations > Technologies numériques > Développement logiciel > C, C++ > Formation C++ expert, les avancées du langage (de C++ 11 à 20) > Formations > Technologies numériques > 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 au format pdf Partager cette formation par e-mail 2


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
Pauses-café et
déjeuners offerts




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.

Solutions de financement
Pour trouver la meilleure solution de financement adaptée à votre situation : contactez votre conseiller formation.
Il vous aidera à choisir parmi les solutions suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.

Avis clients
4 / 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.
ARNAUD R.
29/01/24
4 / 5

Ecrire du code de 0 fait perdre du temps sur ce qui n’est pas le sujet: il aurait été plus interessant de partir d’un monopoly deja ecrit en C++98 et de faire des exercices pour l’ameliorer avec les nouveautes C++11/14/17/20/23. Exceptionelles qualités d’animation du formateur.
THOMAS K.
29/01/24
3 / 5

+: Bon équilibre entre théorie et exercices pratiques -: Manque de structure dans le support de formation, et quelques impasses sur les nouveautés de C++14 et C++17
NADER H.
29/01/24
5 / 5

Good




Horaires
En présentiel, les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
En classe à distance, la formation démarre à partir de 9h.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 15h30 le dernier jour.

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