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.

Spécificités pédagogiques de la session à distance

Formation dispensée en visio-formation avec un séquencement adapté. Configuration et accès à notre outil de visio-formation. Accès à la bibliothèque pédagogique virtuelle durant la formation afin de partager les exercices, contrôler les résultats obtenus et déployer l’ensemble du séquencement pédagogique. La durée exacte des modules définis ci-après est susceptible de varier en fonction de la vitesse d’appropriation des concepts enseignés de la part du stagiaire.

Remarques

 

Certification

Formation Certifiante Code CPF 236234

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.

Moyens techniques relatifs aux sessions à distance

Encadrement complet des stagiaires durant la formation. Accès à notre service technique durant l’animation pour toute limite rencontrée. Accès à l’espace de conversation instantané durant la session pour interagir avec le formateur et les participants. Transmission d’un email de contact pour réaction privée durant la session. 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.

Méthodes d'évaluation des acquis de la formation à distance

Exercices individuels et collectifs communiqués durant la formation via la bibliothèque pédagogique virtuelle mise à disposition ou directement par le formateur. Ces activités constituent les modalités de suivi et d’évaluation du Stagiaire de la part du formateur. Suivi permanent du formateur durant l’animation et durant les exercices pratiques.

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)