Dernière mise à jour le 04/10/2024

C++ Programmation avancée

Informations générales

Type de formation : Formation continue
Domaine : Développement
Filière : Action collective ATLAS "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                                                                                                                                                                   Les                                                                                                                                                                             c   
 
Chapitre 3 : Les pointeurs sur membres Syntaxe
Mise en oeuvre
Exercice : Utilisation de pointeurs sur méthodes pour effectuer des calculs mathématiques                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               C                                                                                                                                                                                                                                                                                                                                                                                                                                        
 
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                                                                                                                                                                                                                                                                      C                                                                                                                                                                                                                                                       
 
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                               C                                                                                                                                                                                                                                                
 
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, d ecltype 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)
Code de formation : F28030

Tarifs

Prix public : 2420
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

Campus : Ensemble des sites

Durée : 28 heures
Délai d'accès :
Jusqu’à 8 jours avant le début de la formation

Distanciel possible : Oui

Prochaines sessions

Cliquez sur la date choisie pour vous inscrire :

  • Inscription au 12 / 11 / 2024
    : Ensemble des sites
    : Distanciel possible
    : 28 heures
    : 4 jours
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

Action collective ATLAS "Java, .Net, C++"

F28033

Développer des applications web Asp.NET MVC en C# avec VS2017

Savoir créer des applications web avec Visual Studio 2017   Savoir développer des applications ASP.Net MVC   Être capable de tester et déboguer des applications web ASP.Net   Savoir développer des applications web API et les interroger depuis une application cliente   Être capable d'intégrer des fonctionnalités dynamiques avec AJAX et JQuery sur des applications web ASP.Net  Être capable d'intégrer des fonctionnalités "Responsive" avec Bootstrap dans une application web ASP.Net  

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28044

Bachotage Microsoft 70480 – Programmation HTML5 CS3 JavaScript6

Se préparer au passage de la certification .Net « 70-480, Programmation en HTML5 avec JavaScript et CSS3 » à travers une révision complète Découvrir le type de questions et comprendre le déroulement de la certification Passer un test blanc

7 heures de formations sur 1 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

AS5001

Mac OS X administration

Installer et configurer un ordinateur avec Mac OS X Personnaliser l'environnement de travail Installer et désinstaller des programmes Sauvegarder l'environnement utilisateur

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28034

Xamarin.Forms, développer des applications mobiles multi-plateformes

Comprendre le processus de développement d'une application mobile Xamarin.Forms   Architecturer une application mobile via le Pattern MVVM   Mettre en œuvre les différents composants graphiques pour concevoir des interfaces mobiles   Enrichir l'application mobile par l'accès aux données locales et distantes  

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28045

Bachotage Microsoft 70486 – Développement ASP.Net et MVC

Se préparer au passage de la certification .Net « 70-486, Développement d'applications Web ASP.NET MVC» à travers une révision complète     Découvrir le type de questions et comprendre le déroulement de la certification     Passer un test blanc  

7 heures de formations sur 1 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28023

La conception orientée objet et UML

Comprendre les concepts et les avantages de la conception orientée objet afin d'appréhender une nouvelle façon de " penser " Différencier l'approche procédurale et l'approche objet Comprendre les principes de l'approche objet Maîtriser les fondamentaux de la notation UML, use case et diagrammes de classes. Comprendre et voir en action les design patterns.

35 heures de formations sur 5 Jours
En savoir plus