Informatique Informatique
Référence formation : 4-LC-CPAV - Durée : 4 jours

 
  • Objectifs
  • Pré-requis
  • Pédagogie
Grace à cette formation vous pourrez Consolider vos connaissances dans le développement C++ Disposer de connaissance pour rendre efficients vos développements
Il est nécessaire de Disposer de bonnes connaissances en développement C++,.

Organisation

Les sessions de formation ont lieu de 9h00 à 12h30 et de 13h30 à 17h00

Profil formateur

  • Nos formateurs sont des experts dans leurs domaines d'intervention
  • Leur expérience de terrain et leurs qualités pédagogiques constituent un gage de qualité

Moyens pédagogiques

  • Réflexion de groupe et apports théoriques du formateur.
  • Travail d'échange avec les apprenants sous forme de réunion - discussion.
  • Utilisation de cas concrets issus de l'expérience professionnelle.
  • Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques.
  • Alternance entre apports théoriques et exercices pratiques (en moyenne sur 30 à 50% du temps)

Modalités d'évaluation

  • Positionnement préalable oral ou écrit.
  • Feuille de présence signée en demi-journée.
  • Evaluation des acquis tout au long de la formation.
  • Questionnaire de satisfaction
  • Attestation de stage à chaque apprenant
  • Evaluation formative tout au long de la formation.
  • Evaluation sommative faite par le formateur .

Public concerné

Salariés - Demandeur d'emploi - Reconversion professionnelle

Adaptation pédagogique et matérielle

Si vous avez besoin d'adaptation matérielle ou pédagogique, merci de prendre contact avec notre référent Handicap par téléphone au 02 35 12 25 55 ou par email à handicap@xxlformation.com

Moyens techniques en formation présentielle

Accueil des apprenants dans une salle dédiée à la formation et équipée avec :

  • Ordinateurs
  • Vidéo projecteur ou Écran TV interactif
  • Tableau blanc ou Paper-Board

Moyens techniques en formation distancielle

A l'aide d'un logiciel comme ® Microsoft Teams ou Zoom, un micro et une caméra pour l'apprenant.

  • Suivez une formation en temps réel et entièrement à distance. Lors de la session en ligne, les apprenants interagissent et communiquent entre eux et avec le formateur.
  • Les formations en distanciel sont organisées en Inter-Entreprise comme en Intra-Entreprise.
  • L'accès à l'environnement d'apprentissage (support de cours, ressources formateur, fichiers d'exercices ...) ainsi qu'aux preuves de suivi et d'assiduité (émargement, évaluation) est assuré.
  • Les participants recevront une convocation avec le lien de connexion à la session de formation.
  • Pour toute question avant et pendant le parcours, une assistance technique et pédagogique est à disposition par téléphone au 02 35 12 25 55 ou par email à commercial@xxlformation.com

Contenu pédagogique

RAPPELS

  • Classes d'allocation mémoire.
  • Construction, initialisation, embarquement d'objets.
  • Les fuites mémoire.
  • Constance, le mot-clé mutable, Lazy Computation.
  • Amitié (friendship) C++ et contrôle d'accès.
  • Destruction virtuelle.
  • Stratégie de gestion des exceptions.
  • Les espaces de nommage (namespace).

LES NOUVEAUTÉS LANGAGE DE C++11

  • nullptr et autres littéraux.
  • Les directives =delete, =default.
  • Délégation de constructeurs.
  • Les énumérations "type safe".
  • Le mot-clé auto et boucle sur un intervalle.
  • Référence rvalue et impact sur la forme normale des classes C++.
  • Les lambda expressions.

GESTION DES OPÉRATEURS

  • Opérateurs binaires et unaires.
  • L'opérateur d'indirection, cas d'usage.
  • L'opérateur de référencement.
  • Les opérateurs d'incrémentation/décrémentation préfixés et post-fixés.
  • Les autres opérateurs : comparaison, affectation...
  • La surcharge de l'opérateur [], des opérateurs d'insertion (<<) et d'extraction (>>).
  • Les foncteurs et la surcharge de l'opérateur (), avantage par rapport aux fonctions.

CONVERSION ET RTTI

  • Opérateurs de conversion. Constructions implicites, le mot-clé explicit.
  • Les opérateurs de casting const_cast, static_cast, reinterpret_cast.
  • Conversion dynamique et Runtime Type Information.
  • L'opérateur typeid, les exceptions liées.
  • La classe type_info.
  • Contrôle du "downcasting" à l'aide de l'opérateur dynamic_cast.

LA GÉNÉRICITÉ

  • Introduction aux patrons de classe. Généricité et préprocesseur.
  • Fonction générique. Classe générique. Composition générique. Généralisation générique.
  • Spécialisation partielle et totale.
  • Introduction à la méta-programmation.
  • La généricité, principe fédérateur des librairies STL et Boost.

LA STL (STANDARD TEMPLATE LIBRARY)

  • Composants de la STL : types complémentaires, conteneurs, algorithmes, itérateurs, objets fonctions, les adaptateurs.
  • Les chaînes de caractères STL, la classe template basic_string et ses spécialisations.
  • Les conteneurs séquentiels et associatifs : définition, rôle et critères de choix.
  • Les allocateurs et la gestion de la mémoire des conteneurs.
  • Les méthodes d'insertion, de suppression, d'itération et d'accès aux principaux conteneurs : Vector, List, Set, Stack...
  • Le concept d'itérateur. Parcours d'un conteneur.
  • Les différents groupes d'algorithmes STL : non mutants, mutants, de tri et de fusion, numériques.
  • Manipulation de conteneurs (manipulation, recherche de valeurs...).
  • Paramétrer les algorithmes génériques par des objets "fonction".
  • Les "adapteurs" et la modification du comportement d'un composant.
  • La STL et les traitements sur les flux (fichiers, mémoire...).
  • Principe du RAII : les pointeurs automatiques et la classe auto_ptr.
  • Les exceptions standard de la STL.

LES NOUVEAUTÉS C++11 DE LA LIBRAIRIE STANDARD

  • Evolution historique : Boost --> TR1 --> C++11.
  • Les nouveaux conteneurs : array, forward_list, unordered_set, unordered_map.
  • La classe tuple.
  • Les pointeurs intelligents (smart pointer) : shared_ptr, weak_ptr, unique_ptr.
  • Les nouveaux foncteurs et binders.
  • Introduction à la gestion des threads.
  • Les expressions régulières.

BOOST ET SES PRINCIPES

  • La Pointer Container Library (destruction des données pointées d'un conteneur).
  • Les structures de données boost::any et boost::variant.
  • Programmation événementielle (connexions et signaux).
  • Gestion des processus, mécanismes de communication interprocessus et mémoire partagée.

UTILISATION AVANCÉE DE L'HÉRITAGE

  • Héritage versus embarquement. Héritage privé. Héritage protégé.
  • Exportation de membres cachés avec la Clause Using.
  • Héritage multiple et gestion des collisions de membres.
  • Héritage en diamant. Héritage virtuel et dynamic_cast.
  • Principes de conception : substitution de Liskov, principe d'ouverture/fermeture, inversion des dépendances.
  • Règles d'implémentation des interfaces en C++.