- Référence : DCPA
- Durée : 4 jours (28h)
- Lieu : Au choix. À distance ou en présentiel, à Paris ou en Régions
2360€ HT
4.7 sur 5 étoiles
Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...
Le C++ est un langage très technique et très riche. Il faut du temps pour le maîtriser car la syntaxe du C, conjuguée avec la mécanique des pointeurs mémoire, la programmation objet et les puissantes bibliothèques demandent une attention de tous les instants.
Cette formation C++ Programmation Avancée Expert vous permettra de maîtriser le langage C++ .
Objectif pédagogique :
Savoir maîtriser le langage C++.
Objectifs pédagogiques :
Cette formation C++ Programmation Avancée Expert vous donne les connaissances et compétences nécessaires pour :
Public :
Cette formation C++ s'adresse aux développeurs.
Prérequis :
Une expérience de développeur en programmation C++ est essentielle pour tirer pleinement profit de cette formation. Avoir suivi la formation C++ Programmation objet en C++ (DPOC) ou posséder un niveau équivalent est un minimum.
Constructeurs et allocation mémoire
Forme canonique d'une classe
Rôle du constructeur de copie
Surcharge de l'opérateur d’affectation
Intérêt d'un destructeur virtuel
Pièges à éviter
Travaux Pratiques :
Exécution d'exemples pédagogiques illustrant les concepts présentés
Présentation des conversions, syntaxe
Utilisation du const_cast pour enlever un caractère const
Utilisation du static_cast pour effectuer une conversion standard
Utilisation du reinterpret_cast pour effectuer une conversion forte
Utilisation du dynamic_cast dans une hiérarchie de classes
Travaux Pratiques :
Choix du type de cast et mise en œuvre dans différentes situations
Principe et cas d'utilisation
Utilisation du dynamic_cast pour effectuer un downcast dans une hiérarchie de classes
Utilisation de l'opérateur typeid et de la classe type_info
Travaux Pratiques :
Mise en œuvre de RTTI pour effectuer un affichage spécifique d'un objet faisant partie d'une hiéarchie de classes
Syntaxe des pointeurs sur membres de classes
Mise en œuvre
Travaux Pratiques :
Utilisation de pointeurs sur méthodes pour effectuer des calculs mathématiques
Danger des pointeurs nus
Principe de la gestion de ressources
Intérêt des smart pointers
Raisons de l'obsolescence de auto_ptr
Mise en œuvre de unique_ptr, shared_ptr et weak_ptr
Travaux Pratiques :
Remplacement, dans une application, de pointeurs nus par des pointeurs intelligents
Principe des exceptions
Les classes d'exceptions
Comment lever une exception
Gestionnaires d'exceptions
Liste d'exceptions
Hiérarchies d'exceptions
Classes d'exceptions standards
Constructeurs et exceptions
Exceptions et gestion des ressources
Bonnes pratiques
Travaux Pratiques :
Mise en place d'une gestion d'exceptions dans une application effectuant des entrées-sorties
Présentation
Avantages/inconvénients
Syntaxe des templates de fonctions
Syntaxe des templates de classes
Syntaxe des templates de méthodes
Instanciation des templates de fonctions
Instanciation des templates de classes
Spécialisation partielle ou totale des templates
Travaux Pratiques :
Mise en œuvre d'une fonction template
Mise en œuvre d'une classe template
Mise en œuvre d'une classe template template
Présentation des patterns du GoF
Patterns de création
Patterns de structure
Patterns de comportement
Travaux Pratiques :
Mise en œuvre des patterns Singleton, Factory Method, Abstract Factory
Mise en œuvre des patterns Visitor, Proxy
Présentation
Intérêt des foncteurs
Foncteurs prédéfinis dans la bibliothèque standard
Utilisation d'adaptateurs de fonctions unaires et binaires
Travaux Pratiques :
Mise en œuvre d'un foncteur avec l'algorithme for_each pour afficher le contenu d'un vector
Présentation de la Standard Template Library
Les conteneurs
Les allocateurs
Les itérateurs
Les algorithmes
Les entrées-sorties
Travaux Pratiques :
Mise en œuvre de quelques conteneurs, d'algorithmes et template d'entrées-sorties
Traits
Policy
SFINAE (Substitution Failure Is Not An Error)
CRTP (Curiously Recurring Template Pattern) : pour le polymorphisme statique
Travaux Pratiques :
Mise en œuvre de chacun des idiomes
Comment exécuter à la compilation
Avantages/inconvénients
Optimisations
Travaux Pratiques :
Mise en œuvre de la méta-programmation pour effectuer des calculs mathématiques par le compilateur
Présentation
static_assert
property_map
smart_ptr
tuple
any
variant
threads
interprocess
mpl (méta programming language)
Travaux Pratiques :
Mise en œuvre de quelques templates de Boost
Mot-clés auto, decltype et constexpr
Définition des rvalue références
Application des rvalue références : déplacement et transfert parfait
Bonne utilisation de std::move et std::forward
Les fonctions lambda
Les variadic templates
Travaux Pratiques :
Mise en œuvre des mot-clés auto, decltype et constexpr
Mise en œuvre des références rvalue pour la création et la copie d'objet par déplacement
Mise en œuvre des expressions lambda en remplacement des foncteurs
Mise en œuvre des variadic templates
Initialisation des données membres non-statiques
Alias de template
Constructeurs délégués
Déclarations étendues de l’amitié
Surcharge explicite de la virtualité
La constante nullptr
« Range-based » for
Définition des rvalue références
Les opérateurs de conversion explicites
Les types POD (Plain Old Data) revisités
Les types locaux et non nommés comme arguments template
Les énumérations à typage fort
Les fonctions par défaut et supprimées (=default, =delete)
Les espaces de nom inline
La propagation des exceptions (dans le cadre du multithreading)
Travaux Pratiques :
Mise en œuvre d'une partie de ces nouveautés dans une application existante
Introduction
Résumé des bonnes pratiques
Chaque chapitre donne lieu à des travaux pratiques qui permettent de comprendre les concepts et leurs mises en œuvre.
Votre formation C++ prise en charge jusqu'à 100% des coûts pédagogiques ! *
Depuis 2011, Atlas (ex-Fafiec) a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec .NET, Java et C++.
- Sessions inter-entreprise sur Paris et Lille.
- Sessions intra-entreprise sur toute la France.
* jusqu'à 100% des coûts pédagogiques selon votre branche d'activité dans la limite des fonds mutualisés dédiés aux actions collectives et en application des critères de prise en charge en vigueur (cf conditions détaillées sur le site d'Atlas)
Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Mon avis sur le contenu du stage :
"RAS"
Ce que j'ai le plus apprécié :
"Disponibilité café , politesse de l'accueil."
Mon avis sur le contenu du stage :
"Contenu très complet."
Ce que j'ai le plus apprécié :
"Ordinateur prêt pour la formation ! On peut attaquer directement avec les TP."
Mon avis sur le contenu du stage :
"Très bonne mise en pratique immédiate avec des TP appropriés."
Mon avis sur le formateur :
"L’animateur est disponible lors des TP."
Ce que j'ai le plus apprécié :
"Services cafés offerts Qualité des PC et des outils de travail : Visual C++."
Mon avis sur le contenu du stage :
"les slides peuvent être légèrement améliorées notamment avec la coloration syntaxique, une police plus petite. Une fiche synthèse serait un plus."
Mon avis sur le formateur :
"Très bonne disponibilité et adaptation aux élèves."
Mon avis sur le contenu du stage :
"Rien à redire si ce n'est qu'il y avait des exercices où je passais plus de temps à comprendre des aspects du C qui ne font pas partie du sujet (je n'étais pas à l'aise avec les tableaux de pointeurs et perdais plus de temps là dessus que sur le vrai sujet). Mais c'était rare (peut-être un exo sur 10)."
Ce que j'ai le plus apprécié :
"La salle à café avec les gourmandises. L'ordinateur installé pour pouvoir appliquer en pratique la théorie que l'on vient de voir."
Ce que j'ai le moins apprécié :
"L'éditeur requis pour les TP n'étaient pas installés au préalable. Donc un peu de temps perdu sur l'installation. "
Mon avis sur le contenu du stage :
"Contenu flexible en fonction de nos attentes ! ++"
Mon avis sur le formateur :
"attentif et disponible. ++"
Mon avis sur le contenu du stage :
"Quelques coquilles/manques dans le support de cours, mais qui ont été signalées par le formateur durant la formation."
Ce que j'ai le plus apprécié :
"- Proposition du formateur d'utiliser un autre IDE que celui de base - Adaptation du rythme de la formation à mon niveau et mes connaissance (le fait que je sois seul à y participer a du contribuer à ce point)"
Formations Informatique
et Management
en ligne à ce jour
+
Stagiaires dans nos salles
de cours sur
l'année
%
De participants satisfaits
ou très satisfaits de nos
formations
Formateurs experts
validés par
PLB