Formation C++11, mise à niveau pour développeur C++
- Programme
- Participants / Prérequis
- Intra / sur-mesure
-
Cette formation vous permettra d'assimiler les nouveautés introduites par le standard C++ 2011. Vous découvrirez les expressions lambda, exploiterez les possibilités de la programmation fonctionnelle, maîtriserez la gestion de la mémoire et exploiterez les autres nouveautés de la bibliothèque standard C++.
Objectifs pédagogiques
- Appréhender les nouveautés et les améliorations du langage C++11
- Utiliser les lambda-expressions
- Exploiterez les possibilités de la programmation fonctionnelle
- Maîtriser les allocations-destructions d'objets
- Développer une application multi-threadée
Travaux pratiques
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.
» Participants
» Prérequis
| Virakdara T. 18/06/2018 |
5 / 5
|
| Philippe D. 18/06/2018 |
5 / 5
|
| Fabrice D. 18/06/2018 |
5 / 5
|
Les avis client sont issus des feuilles d’évaluation de fin de formation. La note est calculée à partir de l’ensemble des avis datant de moins de 12 mois.









