Langage C++ Perfectionnement

2 jours - 14 heures

Objectifs

Analyser efficacement un code pour l’optimiser et le déboguer. Acquérir les meilleures méthodes pour une programmation robuste et fiable de vos programmes en C++.

Participants

Toute personne ayant suivi le stage fonctions de base ou maitriser l’ensemble des concepts.

Prérequis

Connaître les principes de base de l'algorithme Disposer de connaissances du langage C++ et la programmation orientée objet

Pédagogie

La pédagogie est basée sur le principe de la dynamique de groupe avec alternance d'apports théoriques, de phases de réflexion collectives et individuelles, d'exercices, d'études de cas et de mises en situations observées. Formation / Action participative et interactive : les participants sont acteurs de leur formation notamment lors des mises en situation car ils s'appuient sur leurs connaissances, les expériences et mettront en œuvre les nouveaux outils présentés au cours de la session.

Profil de l’intervenant

Consultant-formateur expert. Suivi des compétences techniques et pédagogiques assuré par nos services.

Moyens techniques

Encadrement complet des stagiaires durant la formation. Espace d’accueil, configuration technique des salles et matériel pédagogique dédié pour les formations en centre. Remise d’une documentation pédagogique papier ou numérique à échéance de la formation.

Méthodes d’évaluation des acquis

Exercices individuels et collectifs durant la formation. La feuille d’émargement signée par demi-journée ainsi que l’évaluation des acquis de fin de stage sont adressées avec la facture.

Programme

Rappels sur le C++

Typage

Héritage

Polymorphisme

Compilation modulaire

Abstraction

Classes abstraites

Constructeur

Constructeur de copie

Destructeur

Surcharge d'opérateur

Références et pointeurs

Pointeurs de pointeurs

Pièges liés à l'utilisation de pointeurs

Initialisation des pointeurs

Compilation

Allocation de mémoire dynamique

Les templates

Présentation

Notion de patron de classes

Standard Template Library Container séquentiel

Container associatif

Créer des templates

Hiérarchie des templates

Utiliser des templates

Intégration

Les espaces de noms

Définition

Portée (scope)

Les espaces de noms anonymes

Résolution d'espace de noms

Accès aux namespaces

Gestion avancée des opérateurs

Conversion

Affectation

Copies

Les exceptions

Traitement des erreurs Throw

try

catch terminate

Les variantes de catch

Exceptions dans les effaceurs

Récupérer les exceptions

Transmettre les exceptions

La bibliothèque standard de modèles

Présentation

Standard Template Library

Sécurité des exceptions

Les containers

Les itérateurs

Algorithme fonctionnelle

Gestion des fichiers avec les streams

Aspects avancés

Modèle mémoire et garbage collecteur

Allocation dynamique de la mémoire

Pointeurs classiques et conversion de types

Les Smart pointers et conversion de types

Les friends Les mutable auto_ptr

Traitements concurrents avec les Threads et synchronisations

Débordements de tableaux

Compilation modulaire et gestion de projets

Organisation du programme en modules

Librairie statiques et librairies partageables : so et dll

Utilisation efficace de make

Mise au point du code et optimisation

Présentation des outils : nm, lint, gprof, valgrind...

Mise en œuvre du débogueur

Ecriture de code optimisé

Fuite de mémoire et code sécurisé

Performances du code et Profiling

Programmation core cohérent                         

Conformité à programmation C++11

log-187.pdf

   Organisme de formation enregistré sous le n° 24450269645 auprès du préfet de Région Centre - Nos localisations | Recrutement | Contact | Plan du site | Infos légales