Search
Résultats pour {phrase} ({results_count} de{results_count_total})
Displaying {results_count} results of {results_count_total}
Formation C++ Programmation Orientée Objet en C++ : les compléments
Domaine : Langages et Frameworks
DURÉE
5 jour(s)
OBJECTIFS
Tester la généricité et les templates en C++. Utiliser expressions régulières pour manipuler chaînes de caractères. Gérer les copies et "move" en C++. Implémenter RAII et "Smart Pointers" en C++. Exploiter typeinfo et la réflexion en C++. Utiliser la STL pour gérer les conteneurs et algorithmes. Appliquer la programmation fonctionnelle avec lambdas et binding. Manipuler le système de fichiers avec la librairie filesystem. Programmer en multi-tâches avec la librairie thread. Expérimenter synchronisation et performances en programmation multi-tâches.
Pré-requis
Avoir suivi la formation "Programmation Orientée Objet en C++ : les fondamentaux" (27964) ou connaître les bases de la programmation orientée objet en C++.
Participants
Développeur et chef de projets informatiques souhaitant compléter leurs connaissances sur le langage de programmation C++ ISO 2017.
coût
Formation en cours collectif
Nous contacter pour une formation sur mesure ou en intra
LIEUx de formation
Notre centre de formation à GrenobleNotre centre de formation à MoiransNotre centre de formation à Sophia Antipolis
Sur votre site en formation intraEn classe distancielle
PROGRAMME DE FORMATION
C++ Programmation Orientée Objet en C++ : les compléments
Compléments sur le concept de généricité en C++
Définition de méthodes et de classes génériques
Template avec types par défaut
Utilisation du mot clé typedef dans le cadre de la généricité
Template à nombre variable de types
Spécialisation de template
Notions de "traits" et l'entête traits
Template avec types par défaut
Utilisation du mot clé typedef dans le cadre de la généricité
Template à nombre variable de types
Spécialisation de template
Notions de "traits" et l'entête traits
Manipulation de chaînes de caractères via des expressions régulières
La librairie string
Qu'est quâune expression régulière ?
Le langage d'expression régulière proposé par C++
Mise en correspondance, remplacement et extraction d'informations
Les expressions régulières gourmandes
Travaux pratiques (Utilisation d'expressions régulières pour réaliser des mises en correspondance, des remplacements et des extractions dâinformations)
Compléments Boost pour la manipulation de chaînes de caractères
Travaux pratiques (Utilisation des compléments offerts par Boost)
Qu'est quâune expression régulière ?
Le langage d'expression régulière proposé par C++
Mise en correspondance, remplacement et extraction d'informations
Les expressions régulières gourmandes
Travaux pratiques (Utilisation d'expressions régulières pour réaliser des mises en correspondance, des remplacements et des extractions dâinformations)
Compléments Boost pour la manipulation de chaînes de caractères
Travaux pratiques (Utilisation des compléments offerts par Boost)
Gestions des copies en C++
Opérateurs de copie et constructeur par copie
Correctement réaliser les copies
Interdire les copies
Opérateurs et constructeurs de "move"
Travaux pratiques (Corrections de bugs relatifs à la copie d'objets et retrait des fonctionnalités de copie)
Correctement réaliser les copies
Interdire les copies
Opérateurs et constructeurs de "move"
Travaux pratiques (Corrections de bugs relatifs à la copie d'objets et retrait des fonctionnalités de copie)
RAII et les "Smart Pointers"
Introduction à RAII (Resource Acquisition Is Initialization)
Mise en oeuvre d'une classe générique de "Smart Pointers"
Problématique des cycles de pointeur
Travaux pratiques (Implémentation d'une classe de "Smart Pointers")
Les différentes classes de "Smart Pointers" proposées en C++ ISO
Travaux pratiques (Utilisation des classes standards de "Smart Pointers")
Mise en oeuvre d'une classe générique de "Smart Pointers"
Problématique des cycles de pointeur
Travaux pratiques (Implémentation d'une classe de "Smart Pointers")
Les différentes classes de "Smart Pointers" proposées en C++ ISO
Travaux pratiques (Utilisation des classes standards de "Smart Pointers")
La librairie typeinfo et la réflexion en C++
La librairie typeinfo
L'opérateur typeid
Transtypage dynamique (opérateur dynamic_cast)
Les autres opérateurs de transtypage
Travaux pratiques (Mise en oeuvre d'un prototype de moteur de sérialisation)
L'opérateur typeid
Transtypage dynamique (opérateur dynamic_cast)
Les autres opérateurs de transtypage
Travaux pratiques (Mise en oeuvre d'un prototype de moteur de sérialisation)
Utilisation de la STL (Standard Template Library)
Présentation de l'architecture STL (Les conteneurs, les itérateurs et les algorithmes, Utilisation des conteneurs standards et des algorithmes associés)
Travaux pratiques (Utilisation de quelques conteneurs proposés par la STL)
Les différents types d'itérateurs
Les différentes techniques de parcours de collections (Itérateurs, for_each, instruction for each...)
Concept de "functions objects"
Travaux pratiques (Utilisation de "functions objects")
Les différents types de collections de la STL
Les conteneurs ajoutées par C++11
Etude de divers algorithmes proposés par la librairie standard
Travaux pratiques (Utilisation de quelques conteneurs proposés par la STL)
Les différents types d'itérateurs
Les différentes techniques de parcours de collections (Itérateurs, for_each, instruction for each...)
Concept de "functions objects"
Travaux pratiques (Utilisation de "functions objects")
Les différents types de collections de la STL
Les conteneurs ajoutées par C++11
Etude de divers algorithmes proposés par la librairie standard
Programmation fonctionnelle en C++ et moteur de binding
Le concept de lambda
Les différents types de captures proposés
Travaux pratiques (Application des lambda à la manipulation de conteneurs STL)
Le bind C++
Travaux pratiques (Utilisation du module std::bind)
Les différents types de captures proposés
Travaux pratiques (Application des lambda à la manipulation de conteneurs STL)
Le bind C++
Travaux pratiques (Utilisation du module std::bind)
Manipulation du système de fichiers
La librairie filesystem introduite par C++ ISO 2017
Utilisation de path
Fonctions de convenances
Travaux pratiques (Mise en oeuvre d'un programme permettant de lister le contenu dâun disque)
Couplage avec le librairie de manipulation de flux (istream et ostream)
Utilisation de path
Fonctions de convenances
Travaux pratiques (Mise en oeuvre d'un programme permettant de lister le contenu dâun disque)
Couplage avec le librairie de manipulation de flux (istream et ostream)
Programmation multi-tâches en C++
Pourquoi programmer en multi-tâches ? (Développement d'un programme multitâches et synchronisation des accès concurrents)
Qu'est-ce que thread et quâest-ce qui le différencie dâun processus ?
La librairie thread
Connaître les spécificités multi-tâches du système d'exploitation utilisé
Les mécanismes de synchronisation des accès concurrents
RAII et la gestion des verrous
Problèmes de performances en cas de mauvaise stratégie de synchronisation
Opérations atomiques
Utilisation de local storage
Qu'est-ce que thread et quâest-ce qui le différencie dâun processus ?
La librairie thread
Connaître les spécificités multi-tâches du système d'exploitation utilisé
Les mécanismes de synchronisation des accès concurrents
RAII et la gestion des verrous
Problèmes de performances en cas de mauvaise stratégie de synchronisation
Opérations atomiques
Utilisation de local storage
dates des formations a grenoble
dates des formations a SOPHIA ANTIPOLIS
Cursus formation
Formations de la même thématique
- C++ Mise à jour des compétences sur le langage C
- C++ Programmation Orientée Objet en C++ : les fondamentaux
- C++ Programmation C++ Moderne
- C++ Conception d interfaces graphiques avec Qt 6
- C++ La persistance des données via Qt SQL
- C++ Utilisation de Web Services en C++/Qt
- C++ Utilisation de la librairie BOOST en C++
- C++ Profilage de code C/C++ avec Valgrind
nos centres de formation