Retour en haut de la page

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.

Remarques

 

Certification

 

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

Datadock Microsoft TOSA Certification Robert Samsung partners

Grand-Est (Bar le duc, Chalons en champagne, Colmar, Epinal, Metz, Mulhouse, Nancy, Reims, Strasbourg, Troyes) Nouvelle-Aquitaine (Agen, Angouleme, Biarritz, Bordeaux, Brive, Compiegne, La rochelle, Limoges, Niort, Pau, Perigueux, Poitiers) Auvergne-Rhônes-Alpes (Annecy, Bourg en bresse, Chambery, Clermont ferrand, Grenoble, Lyon bron, Lyon masset, Lyon vendome, Saint etienne, Valence) Normandie (Caen, Le havre, Rouen) Bourgogne-Franche-Comté (Auxerre, Belfort, Dijon, Sens) Bretagne (Brest, Rennes) Centre-Val-de-Loire (Blois, Bourges, Chartres, Chateauroux, Orleans, Tours) Corse (Ajaccio, Bastia) Île de France (Aulnay sous bois, Groupe, La defense courbevoie, Nanterre, Paris nation, Paris ternes, Poissy) Occitanie (Cahors, Castres, Montauban, Montpellier, Narbonne, Nimes, Pamiers, Perpignan, Rodez, Toulouse) Pays de la Loire (La roche sur yon, Le mans, Montaigu, Nantes) Hauts de France (Amiens, Lille, Roubaix, Soissons) Provence-Alpes-Côte d'Azur (Aix en provence, Avignon, Marseille, Nice)