Dernière mise à jour le 25/03/2023

C++ Programmation avancée

Informations générales

Type de formation : Formation continue
Domaine : Développement
Filière : "Java, .Net, C++"
Rubrique : C++
Formation éligible au CPF : Non
Formation Action collective : Non

Objectifs & compétences

Maîtriser les concepts avancés du C++
Connaître les principales nouveautés du C++ 11

Public visé

Développeur C++

Pré-requis

Une bonne connaissance du langage C++ est nécessaire

Programme

Chapitre 1 : Rappels sur les classes en C++
Rôle du constructeur de copie
Rôle de l'opérateur d'affectation surchargé
Intérêt du destructeur virtuel

Exercice : mise en oeuvre du const_cast et static_cast

Chapitre 2 : Les conversions en C++
Présentation
const_cast
static_cast
reinterpret_cast
dynamic_cast

Exercice : mise en oeuvre du const_cast et static_cast

Chapitre 3 : Les pointeurs sur membres
Syntaxe
Mise en oeuvre

Exercice : Utilisation de pointeurs sur méthodes pour effectuer des calculs mathématiques

Chapitre 4 : Les pointeurs intelligents
Principe de la gestion de ressources
Intérêt des smart pointers
unique_ptr et shared_ptr

Exercice : remplacement de pointeurs nus par des pointeurs intelligents

Chapitre 5 : L'identification de type à l'exécution (RTTI)
Principe
Fonctionnement du dynamic_cast
La classe type_info

Exercice : mise en oeuvre de RTTI pour détecter un type particulier dans une
hiérarchie de classes

Chapitre 6 : Les exceptions
Principe
Les classes d'exceptions
Lever une exception
Gestionnaires d'exceptions
Liste d'exceptions
Hiérarchies d'exceptions
Exceptions standards
Exceptions et constructeurs
Exceptions et gestion des ressources
Bonnes pratiques

Exercice : Mise en place d'une gestion d'exceptions dans une application en remplacement des messages d'erreur

Chapitre 7 : Les templates
Présentation
Syntaxe
Template de fonctions
Template de classes
Template de méthodes
Instanciation des templates
Spécialisation des templates
Instanciations partielles
Avantages / inconvénients
Classe/typename/template

Exercice : Mise en oeuvre de fonctions template de fonctions, de classes

Chapitre 8 : Les foncteurs
Présentation
Foncteurs prédéfinis
Adaptateurs
Intérêt des foncteurs

Exercice : Mise en oeuvre d'un foncteur avec un algorithme de la STL

Chapitre 9 : La bibliothèque STL
Présentation
Les conteneurs
Les allocateurs
Les itérateurs
Les algorithmes
Les entrées-sorties

Exercice : Mise en oeuvre de quelques conteneurs, d'algorithmes et template d'entrées-sorties

Complément d'E-Learning avec Lynda sur la gestion des exceptions

Chapitre 10 : Les idiomes
Traits
Policy
SFINAE (substitution failure is not an error)
CRTP (curiously recurring template pattern)

Exercices : mise en oeuvre de chacun des idiomes

Chapitre 11 : La méta-programmation
Présentation
Avantages/inconvénients
Optimisations

Exercices : mise en oeuvre de la méta-programmation pour effectuer des calculs par le compilateur

Chapitre 11 : Présentation de la bibliothèque Boost avec les tests unitaires
Présentation des différents modules
Static_assert
Property_map
Tuple
Variant
Threads
BoostTest : librarire permettant de faire les tests unitaires

Exercices : mise en oeuvre de quelques template de Boost avec tests unitaires

Chapitre 12 : Principales nouveautés du C++11
Les mots-clés auto, decltype et constexpr
La constante nullptr
La nouvelle boucle for
Références rvalue
Copie par déplacement
Transfert parfait
Les fonctions lambda

Exercices : 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 lambdas

Complément d'E-Learning avec Lynda sur l'essentiel de C++11

Modalités

Modalités : en présentiel, distanciel ou mixte – Horaires de 9H à 12H30 et de 14H à 17H30 soit 7H – Intra et Inter entreprise
Pédagogie : essentiellement participative et ludique, centrée sur l’expérience, l’immersion et la mise en pratique. Alternance d’apports théoriques et d’outils pratiques.
Ressources techniques et pédagogiques : Support de formation au format PDF ou PPT Ordinateur, vidéoprojecteur, Tableau blanc, Visioconférence : Cisco Webex / Teams / Zoom
Pendant la formation : mises en situation, autodiagnostics, travail individuel ou en sous-groupe sur des cas réels

Méthodes

Fin de formation : entretien individuel
Satisfaction des participants : questionnaire de satisfaction réalisé en fin de formation
Assiduité : certificat de réalisation (validation des acquis)
Contact : contact@astonbysqli.com
Code de formation : F28030

Tarifs

Prix public : 1820
Tarif & financement :
Nous vous accompagnons pour trouver la meilleure solution de financement parmi les 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.
  • CPF -MonCompteFormation
Contactez nous pour plus d’information

Lieux & Horaires

Durée : 28 heures
Délai d'accès : 8 Jours

Prochaines sessions

Handi-accueillante Accessible aux personnes en situations de handicap. Pour toutes demandes, contactez notre référente, Mme Rizlene Zumaglini Mail : rzumaglini@aston-ecole.com

à voir aussi dans le même domaine...

Formation continue

"Java, .Net, C++"

F28038

Développer une application Java riche en java FX

Maîtriser le développement d'applications riches en Java FX
Comprendre la mécanique des évènements
Voir les différences entre une application Web et une application riche
Comprendre une architecture Web Service de type REST et son intégration dans une architecture de type client lourd / riche
Déployer une application Java FX

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

"Java, .Net, C++"

F28050

ASP.NET MVC Core, développement d’application Web

Comprendre les principes d’ASP Net MVC
Acquérir les compétences pour créer des applications Web avec Visual Studio
Apprendre à tester et déboguer des applications Web ASP .NET Core
Comprendre comment mettre en œuvre une méthode MVC pour développer en équipe
Être capable d'écrire un service Web REST et l'appeler à partir d'une application MVC

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

"Java, .Net, C++"

F28027

Spring : développer des applications d’entreprise

Comprendre le fonctionnement de Spring et son positionnement dans les technologies Java
Savoir gérer la configuration des composants d’une application avec Spring
Implémenter un service d’accès aux données
Connaître les bonnes pratiques de développement avec Spring
Connaître les apports de la Programmation Orientée Aspect (AOP)
Sécuriser l’application

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

"Java, .Net, C++"

F28039

Développer une application graphique en C++ avec Qt

Maîtriser le développement d'écrans avec Qt
Comprendre le mécanisme de la gestion d'évènements
Savoir utiliser les principales API non graphiques de Qt : accès aux données, réseau, fichiers
Maîtriser le développement en QML avec QtQuick

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

"Java, .Net, C++"

F28028

Les tests Unitaires en Java

Comprendre l'impact (cout, temps) et le rôle des tests unitaires dans un projet
Pouvoir développer de bons tests unitaires sur l'API Junit dans sa version 4 et 5
Comprendre ce qu'est un Mock et comment en faire usage

14 heures de formations sur 2 Jours
En savoir plus

Formation continue

"Java, .Net, C++"

F28040

L’intégration continue, un enjeu pour la qualité

Maîtriser les phases de mise en oeuvre d’une intégration continue
Maîtriser les maillons d'une chaîne d'intégration continue
Automatiser la construction de vos applications
Mettre en place un tableau de bord de vos intégrations
Générer des rapports liés à l'activité de développement et à la qualité
Valider le respect des normes de développement par les développeurs via Sonar

21 heures de formations sur 3 Jours
En savoir plus