12 Rue de l’Europe

31850 Montrabé

12 Rue de l’Europe

31850 Montrabé

C++ avancé

Menu formations

Présentation : Le langage C++ est un langage puissant mais complexe. Sa maîtrise parfaite nécessite une bonne connaissance de certains concepts singuliers du langage.

Objectifs : maîtriser les subtilités du langage C++ afin de développer avec efficacité et éviter certains pièges de programmation.

Durée : 4 jours

Public concerné :
 développeurs, chefs de projets.

Pré-requis : 
ce cours s’adresse à des développeurs ayant déjà une solide expérience de la programmation en langage C++.

Travaux pratiques : les travaux pratiques sont réalisés en utilisant le compilateur DevC++ ou Visual C++ sous Windows ou encore gcc sous Unix/Linux.

Contenu de la formation

Espaces de noms :

  • principe
  • la directive using
  • composition
  • sélection
  • extension
  • alias
  • espaces de noms anonymes

Surcharge d’opérateurs :

  • principe
  • opérateurs unaires
  • opérateurs binaires
  • opérateurs d’allocation
  • opérateurs d’entrées-sorties

Héritage :

  • héritages public, privés, protégés
  • héritage public
  • héritage protégé
  • héritage privé
  • héritage multiple
  • héritage multiple répété
  • classes de base virtuelles
  • déclarations using

Conversions explicites (casts) :

  • présentation
  • const_cast
  • static_cast
  • reinterpret_cast
  • dynamic_cast

Identification de type à l’exécution (RTTI) :

  • principe
  • dynamic_cast
  • type_info

Pointeurs sur membres :

  • syntaxe
  • mise en oeuvre

Pointeurs intelligents (smart pointers) :

  • présentation
  • auto_ptr
  • gestion de ressources

Les exceptions :

  • principe
  • les classes d’exceptions
  • lever une exception
  • gestionnaires d’exceptions
  • liste d’exceptions
  • hiérarchies d’exceptions
  • exceptions standards
  • exceptions et constructeurs
  • exceptions et gestion des ressources
  • bonnes pratiques

Templates :

  • présentation
  • syntaxe
  • templates de fonctions
  • templates de classes
  • templates de méthodes
  • instanciation des templates
  • spécialisation des templates
  • avantages/inconvénients

Les foncteurs :

  • présentation
  • foncteurs prédéfinis
  • adaptateurs
  • intérêt des foncteurs

La bibliothèque STL :

  • présentation
  • les conteneurs
  • les itérateurs
  • les algorithmes
  • les entrées-sorties

Idiomes :

  • traits
  • sfinae (substitution failure is not an error)
  • crtp (curiously recurring template pattern)

Méta-programmation :

  • présentation
  • avantages/inconvénients
  • optimisations
  • expressions tempates
Top