Formation - Développement C++ avancé

Qualiopi
Durée 4 jours (28 heures)
Localisation Partout en France
Logo de IB Cegos - Formation - Développement C++ avancé

Proposé par

IB Cegos

Prérequis

Public admis

  • Salarié en Poste
  • Entreprise

Demandeur d'emploi et Etudiant non admis

Financement

  • Votre OPCO
  • Financement personnel

Financement CPF non pris en charge

Modalités

  • En entreprise
  • À distance
  • En centre

Objectifs pédagogiques

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.

Programme de la formation

1 - Nouveautés fondamentales de la norme C++11/14

  • nullptr_t et le littéral nullptr
  • Les nouveaux types, littéraux et séparateurs
  • Variables templates
  • Initialisation uniforme
  • Initialisation de tableaux et collections
  • Parcours unifié des tableaux et conteneurs
  • Listes d'initialisation avec initializer_list
  • La boucle "range based" for
  • Énumérations fortement typées
  • Types normalisés et variantes (uint_8, uint64_t, ...)
  • Contrôle de l'alignement mémoire
  • Inférence de types et de signatures avec auto
  • C++14 et déduction étendue
  • Les nouveaux spécificateurs de classe (override, default, delete, final)
  • Constructeur délégué
  • Constructeur hérité
  • Alias et using
  • Expressions constantes avec constexpr
  • Gestion du temps, l'espace de nom chrono

2 - Move semantics

  • Copie versus déplacement
  • Value et RValue reference
  • La fonction move
  • Move constructor et move assignement operator
  • Héritage et move constructor / op=
  • STL C++11 et swap / move
  • Signature reference qualifiers
  • Mauvaises pratiques

3 - Gestion des ressources

  • Resource Acquisition Is Initialization (RAII)
  • L'opérateur -> avec ou sans généricité
  • Propriété et transfert de responsabilité
  • La classe unique_ptr
  • Unique_ptr et tableaux dynamiques
  • Comptage de références avec la classe shared_ptr
  • Custom deleter
  • Les fonctions make_unique (C++14) et make_shared
  • La classe weak_ptr et le référencement circulaire

4 - Gestion avancée des exceptions

  • Principes
  • Dynamique
  • Traiter une exception
  • Concevoir et hiérarchiser les exceptions
  • Traitement par défaut
  • Les exceptions prédéfinies
  • Abraham's Exception safety guarantees
  • La clause C++11 noexcept

5 - Héritage avancé

  • Surcharge et ambiguïtés
  • Héritage public et redéfinition privée
  • Héritage privé et protégé
  • Héritage multiple
  • Héritage en diamant
  • Héritage virtuel et dominance

6 - Programmation fonctionnelle avec C++ 11/14

  • Problématique de l'abonnement
  • Les classe function et mem_fn
  • Binding, placeholders
  • Adaptateurs de références
  • Les lambda-expression

7 - Utilisation avancée de la généricité

  • Typage multiple
  • Inférence des retours avec decltype
  • Paramétrage / spécialisation des méthodes
  • Perfect forwarding avec std::forward
  • Héritage / containment et généricité
  • Méta-programmation
  • L'idiome CRTP Curiously Recursive Template Pattern
  • Typologie C++ et classes de traits
  • Assertions statiques avec static_assert
  • Extended friend declaration
  • Les variadic templates, pattern matching et héritage multiple
  • SFINAE Substitution Failure Is Not An Error

8 - Nouveautés C++11 de la librairie standard

  • Les nouveaux itérateurs cbegin
  • Les tableaux à taille fixe avec std ::array
  • Les nouvelles collections associatives : unordered_map/set
  • Singly-Linked Lists
  • Le conteneur tuple
  • Adaptateurs d'itérateurs, stream itérateurs
  • Les nouveaux algorithmes ensemblistes

9 - Multithreading

  • Principes
  • Démarrage et détachement d'un thread
  • La classe std ::call_once
  • L'espace de noms this_thread
  • Futures / promises et packaged_task
  • Programmation asynchrone avec async
  • Politiques de démarrage
  • Comparaison thread versus future
  • Partage de ressources et mécanismes de synchronisation
  • Mutexes et données atomiques
  • Unique-lock et lock_guard

10 - Approche Test Driven Design (TDD) en C++ avec GoogleTest

  • Concepts
  • Assertions et tests élémentaires
  • Tests multiples : suites de tests et Test Cases
  • Préparation et mutualisation des tests avec les Test fixtures
Logo de IB Cegos - Formation Formation - Développement C++ avancé

Proposé par

IB Cegos

"Formations aux technologies et métiers du Numérique"

Voir la fiche entreprise
Logo de IB Cegos - Formation - Développement C++ avancé

Formation - Développement C++ avancé

0 ville proposant cette formation
Logo

La 1ère plateforme pour trouver une formation, choisir son orientation ou construire son projet de reconversion.

© 2024 France Carrière. Tous droits réservés.