Description
Windows 8 a relancé l'intérêt du langage C++ auprès de développeurs pratiquant le C# et Java. Sur la base de vos connaissances objets, ce cours vous assurera une transition douce vers le C++ 11. Vous apprendrez comment C++ et sa librairie standard permettent d'écrire du code efficace et robuste pour vos applications.
À qui s'adresse cette formation ?
Pour qui ?
Ce cours s'adresse aux développeurs Java et C# souhaitant acquérir des connaissances spécifiques au développement C++.
Prérequis
Les objectifs de la formation
Programme de la formation
- Présentation des concepts C++ avancés
- - Instanciation "statique" versus instanciation "dynamique" d'objets.
- - Les différents types de constructeurs (par défaut, par copie.).
- - Gestion de la mémoire sans garbage collector (manuellement ou en utilisant les smart pointers de la librairie standard).
- - Héritage multiple : cas pratiques et pièges à éviter.
- - Les Templates.
- - Orientation objet et comparaison avec C#.
- - Travaux pratiques Atelier de manipulation des smart pointers de la librairie standard.
- Librairie standard : la BCL de C++
- - Représentations mémoires possibles d'une chaîne de caractère et manipulation avec std::string et std::wstring.
- - Introduction à la stl (standard template library).
- - Containers et itérateurs, les collections C++.
- - Travaux pratiques Atelier de manipulation de chaînes de caractères et de collections en C++.
- Syntaxe C++ avancée
- - Inférence de types et mot-clef automatique.
- - Orientation fonctionnelle du langage : Lambdas, Functors.
- - et utilisation avec la stl.
- - Asynchronisme et parallélisation avec C++ 11.
- - Utilisation d'objets COM Microsoft, avec et sans smart pointers.
- - Travaux pratiques Exercice: d'introduction à la parallel platform library, et manipulation d'expressions Lambda.
- - Cas pratique de consommation d'objets COM, illustration avec Direct 2D.
- C++ et l'interopérabilité
- - Publication d'objets COM Windows réutilisables.
- - Interopérabilité avec .
- - Net sur le Desktop : C++ CLI.
- - Interopérabilité avec .
- - Net et JavaScript dans les applications Metro : C++ / CX.
- - Travaux pratiques Création d'une application métro hybride C# / Xaml + C++ / Direct 2D.
- Rappel des concepts de base du développement C++
- - Les différents fichiers sources (.h, .cpp.).
- - Linkage et compilation de code écrit en C++.
- - Ecriture de classes et structures : la syntaxe de base.
- - Réutilisation de composants déjà compilés : .lib, .dll, .h etc.
- - Travaux pratiques Création d'une solution multi-projets en C++, avec linkage statique et dynamique.