Introduction sur les pièges C++
- Présentation des principaux pièges : pointeurs, MLK, compteurs de référence, constructeurs, virtualités, etc.
- Expérience de grands projets.
Gestion de la mémoire avancée de C++
- Allocation dynamique de la mémoire.
- Libération de la mémoire. Fuites mémoire.
- Débordement de tableaux.
- Pièges " courants " liés à l'utilisation de la mémoire.
Travaux pratiques
Etudes de cas sur la gestion de la mémoire.
Gestion des pointeurs mémoire
- Pointeurs et pointeurs de pointeurs.
- Pièges " courants " liés à l'utilisation des pointeurs.
- Ecrire un meilleur code en utilisant les pointeurs.
Travaux pratiques
Etude de cas sur les pointeurs.
Les classes
- Constructeur et destructeur. Liste d'initialisation.
- Constructeur de copie et surcharge de l'opérateur " = ", règles.
- Constructeur/Destructeur et virtualité.
Travaux pratiques
Constructeur par copie, destructeur virtuel, etc.
Gestion des exceptions
- Principe de la gestion des exceptions. Mise en œuvre.
- Dangers liés à la gestion des exceptions.
Travaux pratiques
Travaux sur l'implémentation d'une gestion des exceptions.
Les classes, mécanismes avancés
- Héritage privé et multiple, l'héritage virtuel.
- Classe abstraite. Principes des interfaces en P.O.O.
- Simuler des interfaces avec des classes.
Travaux pratiques
Etudes de cas.
La gestion des Smart Pointers, piège
Les templates, patron de classe
- Principe. Syntaxe des classes et fonctions templates.
- Implémenter une classe template : " TStack ".
- Présentation d'une hiérarchie à base de templates.
Travaux pratiques
Réalisation d'une classe template " Tableau ".
Debug en C++
- Notions système pour déboguer en C++.
- Utilisation avancée du débogueur Visual C++.
- Détection de fuites mémoire, des violations d'accès.
- Problèmes liées aux méthodes virtuelles.
- Effets de bord.
Travaux pratiques
Etudes de cas de différents problèmes.
Les règles C++