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


Formations Durée Référence

Interpréter les statistiques pour mettre en œuvre des actions d’amélioration. Ce cours définit la notion d'un système d'information géographique (SIG) ...

3 jours log-199

Maîtriser tous les mécanismes nécessaires au développement d'applications avec Python. Vous connaitrez également les principales fonctionnalités de la bibliothèque de ...

4 jours LGDV370

Se familiariser et écrire des programmes en langage C. Ce cours pratique constitue une base idéale pour l’apprentissage du développement en ...

5 jours LGDV360

Ce cours apporte des bases solides de programmation C++

5 jours LGDV180

Identifier les éléments importants d'un projet QT et les différents composants graphiques proposés, et à les utiliser avec le XML.

3 jours log-198

Être capable d’installer et d’administrer un serveur APACHE.

3 jours LGDV380

S’initier à l’environnement de développement sous Windows intégré à Delphi, manipuler les composants, manipuler les outils de gestion de bases ...

5 jours LGDV190

Complément de la précédente session, cette formation permet aux développeurs de tirer partie des fonctionnalités les plus abouties du produit.

3 jours LGDV340

Permettre à l'utilisateur de développer ses propres outils de développement sous Delphi.

3 jours LGDV330

Apporter aux stagiaires les connaissances et la pratique des fonctions appartenant aux principales bibliothèques standards du langage C. Une courte ...

2 jours LGDV350

Maîtriser PERL, ses mécanismes de base et sa syntaxe.

4 jours LGDV320