Programmation générique et avancée en C++
C++ s'est imposé comme le langage de programmation de référence dans des domaines d'application aussi exigeants que l'informatique embarquée temps-réel ou le calcul intensif. C++ permet de concilier la génération d'un code robuste et performant (i.e. économe en cycles CPU, mémoire vive) avec l'approche structurante de la programmation orientée objet. Malheureusement, l'optimisation d'un programme se fait souvent au détriment de sa réutilisabilité et de son évolutivité, ce qui augmente d'autant la durée des cycles de développement. Le paradigme de la programmation générique, qui s'appuie sur les patrons C++, permet d'utiliser des bibliothèques logicielles largement réutilisables sans impacter les performances.
Cette formation développe l'utilisation et la conception de bibliothèques génériques en C++, ainsi que d'autres techniques complémentaires afin de rendre les développements en C++ plus performants, plus robustes et mieux réutilisables.
Objectifs
- savoir utiliser les techniques avancées de programmation en C++ permettant d'écrire du code performant, robuste et réutilisable
- savoir exploiter les fonctionnalités qu'offrent la Standard Template Library (STL) et la Boost Library
- être capable de concevoir et réaliser ses propres bibliothèques C++ génériques
Public concerné
Ingénieurs informaticiens ayant déjà une expérience, même légère, de développement en C++
Connaissances requises
- Notions de programmation orientée objet et du langage C++ (syntaxe C/C++, principe de l'héritage)
- Savoir tirer parti des évolutions récentes et à venir de C++
Méthodes pédagogiques
- conférences
- exercices de programmation (environnement Linux/GCC ou Windows/Visual C++)
Les livres « Standards de programmation en C++ » (éditions Pearson Education) de H. Sutter, A. Alexandrescu et « Beyond The C++ Standard Library : an introduction to boost » (éditions Addison-Wesley) de B. Gunnar Karlsson seront remis à chaque participant
Une partie de la documentation fournie est en anglais.
| PROGRAMME |
RAPPELS SUR LA PROGRAMMATION ORIENTÉE OBJET EN C++
Forces et faiblesses de l'approche objet en C++
Les différents patrons en C++ (template)
LA PROGRAMMATION GÉNÉRIQUE
Comprendre la programmation générique. Exemples de la STL et de la Boost Library
Concevoir et réaliser sa propre bibliothèque générique
NOTIONS AVANCÉES DE PROGRAMMATION GÉNÉRIQUE
Les classes de politique
Patrons de conceptions et programmation générique
Gestion de l'allocation mémoire et « smart pointers »
La méta-programmation
AMÉLIORER SON CODE
Améliorer les performances
Améliorer la robustesse à la compilation et à l'exécution
CONCLUSION : LES ÉVOLUTIONS FUTURES DE C++ ET DE LA STL |
Autres formations traitant de sujets connexes
- SG08 - Le langage C++
Dernière mise à jour le 25/04/2013 par Supélec - Formation Continue