C++ Expert
Cette formation s'adresse aux développeurs C++ expérimentés souhaitant maîtriser les fonctionnalités les plus avancées du langage. Vous explorerez les améliorations de C++11 au niveau des classes, le multithreading et les nouveautés de la bibliothèque standard.
- +15ans d'expérience pour tous nos formateurs
- 3.5jours
À qui s’adresse cette formation "C++ Expert" ?
Description de la formation "C++ Expert"
-
Méthodes pédagogiques
- La formation se compose de travaux pratiques (mises en situation, débats, exercices).
- Une évaluation quotidienne de l'acquisition des connaissances de la veille est effectuée.
- Une synthèse est proposée en fin de formation.
- Une évaluation à chaud sera proposée au stagiaire à la fin du cours.
- Un support de cours (version électronique) sera remis à chaque participant comprenant les slides sur la théorie, les exercices.
- Une feuille d'émargement par demi-journée de présence est fournie en fin de formation ainsi qu'une attestation de fin de formation si le stagiaire a bien assisté à la totalité de la session.
-
Présentation
Cette formation s'adresse aux développeurs C++ expérimentés souhaitant maîtriser les fonctionnalités les plus avancées du langage. Vous explorerez les améliorations de C++11 au niveau des classes, le multithreading et les nouveautés de la bibliothèque standard.
-
Objectifs
- Maîtriser les fonctionnalités avancées de C++11
- Comprendre les améliorations du langage au niveau des classes
- Mettre en œuvre le multithreading avec la bibliothèque standard
- Exploiter les nouveautés de la bibliothèque standard
-
Audience
- Développeurs
-
Formateur
Le formateur est un expert du domaine qui intervient sur le sujet depuis plusieurs années en formation mais aussi en conseil.
-
Prérequis
- Maîtrise du C++ (classes, templates, STL)
- Avoir suivi une formation C++ avancé ou équivalent
-
Programme
L'avènement de C++11
- Les différentes normes C++98, C++03 et C++0x, C++11.
- Les nouveautés de C++11 et les objectifs de cette norme. Le devenir de Boost, STL.
- La question de la compatibilité des codes anciens.
- La disponibilité des outils de développement (compilateurs, débogueurs, IDE ...).
- Travaux pratiques
- Vérification de l'outillage à l'aide d'un code C++11 fourni.
Les améliorations du langage
- Les énumérations fortement typées.
- Les tableaux à taille fixe.
- Le mot-clé auto pour simplifier le typage.
- La boucle basée sur un intervalle.
- Autres améliorations : templates à arguments variables, pointeur nul, littéraux...
- Travaux pratiques
- Mise en œuvre des améliorations.
Les modifications au niveau des classes
- La délégation de constructeurs, les contraintes liées à l'héritage.
- La nouvelle sémantique du déplacement et le constructeur par déplacement (move constructor).
- Adaptation de la forme normale des classes aux nouveautés (move constructor).
- Les directives =delete, =default.
- Les initialiseurs de conteneurs.
- LeS données membres.
- Travaux pratiques
- Création de classes C++11.
L'utilisation des threads
- Déclaration et exécution d'un thread. Attente de fin d'exécution avec join().
- La gestion des données locales à un thread, l'usage de volatile.
- Récupérer un résultat avec future<> et async().
- Obtenir des informations sur les capacités d'exécution de la plateforme avec hardware_concurrency().
- Travaux pratiques
- Multithreader un code séquentiel et mesurer le gain en termes de temps d'exécution.
Autres nouveautés de la bibliothèque standard
- La gestion du temps avec le namespace chrono.
- Le nouveau conteneur tuple.
- Travaux pratiques
- Mise en œuvre des nouveautés.
La programmation fonctionnelle avec les lambda expressions
- Déclaration, typage, implémentation et utilisation.
- L'intérêt d'auto avec les lambda-expressions.
- La gestion des fermetures (closures), avec capture par valeur ou par référence des variables liées au contexte.
- Travaux pratiques
- Exercices de programmation fonctionnelle.
La gestion mémoire et les conteneurs
- Les smart pointers : shared_ptr, weak_ptr, unique_ptr, auto_ptr. Usage conjoint avec la STL.
- Travaux pratiques
- Mise en œuvre de la gestion mémoire C++11.
-
Tarif
1980 € HT