Objectifs de la formation

Le C++ est un langage très technique mettant à rude épreuve les nerfs des développeurs
d’applications. La syntaxe du C, conjuguée avec la mécanique des pointeurs mémoires, la
programmation orientée objet et les classes, demandent une attention de tous les instants dans
l’utilisation du C++. Une grande rigueur dans l’approche de ces développements et une bonne
connaissance des problèmes « mécaniques » liés à l’utilisation du C++ sont nécessaires. La
formation C++ a été bâtie avec une approche « études de cas ». Le but de celle-ci est de faire
profiter des expériences acquises dans le développement d’applications importantes.

A qui s’adresse la formation

Informaticiens

Pré-requis :

Plusieurs mois de pratique du langage C++.

Contenu de la formation

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 grand projets
Présentation des pièges classiques : allocation de données globales, directives de pré-compilation,
croisement des fichiers entêtes
Pas d ˜atelier dans cette présentation
Gestion de la mémoire avancée de C++
Allocation dynamique de la mémoire
Libération de la mémoire
Pièges « courant » liés à l’utilisation de la mémoire en C++
Atelier : études 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
Atelier : étude de cas sur les pointeurs

Les classes
Constructeur et destructeur

Les constructeurs et la virtualité
Le destructeur virtuel et l’héritage
Constructeur par copie : utilité et règle
Atelier : constructeur par copie, destructeur virtuel etc.
Gestion des exceptions
Principe de la gestion des exceptions
Mise en oeuvre
Dangers liés à la gestion des exceptions
Atelier :études de cas
Les classes, mécanismes avancés
Mécanismes avancés
Héritage privé et multiple, l’héritage virtuel
La classe abstraite
Principes des interfaces en P.O.O.
Simuler des interfaces avec des classes
Problèmes constatés dans les projets dans certains cas avec les classes
Atelier : études de cas
La gestion des Smart Pointer, piège Principe des « Smart Pointers » Controverse
Opérateurs de conversion de types
Atelier : les « Smart Pointers »
Les outils de test d’un programme C++
Introduction aux tests des processus
Debugging avancé
Détection de fuites mémoire
Détection des violations d’accès à la mémoire
Effets de bord Atelier : tester un code C++ pour le rendre efficace
Les règles C++
Pourquoi des règles de programmation Liste des règles