Développez vos compétencesUne formation Elitek
Langage C++ - Programmation, perfectionnement
Des normes C++11 à C++20 : templates, STL et patterns modernes pour un code robuste. 35h, exercices pratiques, parcours CPF à étudier selon la certification visée.
- Durée
- 35 h · 5 jours de formation
- Langues
- Français ou anglais
- Format
- Présentiel ou distanciel
Votre formation, en un regard.
Présentation
L’expérience Elitek
Elitek en chiffres
Stagiaires formés
Formateurs certifiés & experts
d’expérience, experts en France
- Découvrir les nouveautés apportées par les versions
- Maîtriser la gestion de la mémoire, des pointeurs et des références
- Implémenter la généricité en C++
- Découvrir la bibliothèque standard STL
- Utiliser les apports de la norme C++11
Le bon point de départ pour votre parcours.
Public concerné & prérequis
Profil du stagiaire :
- Concepteurs et développeurs d'applications en C++
- Chefs de projets
- Architectes logiciels.
Prérequis :
- Bonnes connaissances en développement C++
- Expérience requise
- Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en nous contactons
35 h · 5 jours de formation, étape par étape.
Programme détaillé
01Rappels
- 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)
02Les nouveautés du 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
03Gestion 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
04Conversion 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
05La 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
06La 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.
07Les 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
08Boost 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
09Utilisation 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++
Apprendre dans les bonnes conditions.
Modalités pédagogiques
- Méthode
Exposé théorique, pratique et participatif, dispensé en FR, alternant :
- Présentation théorique
- Discussion autour des cas organisationnels des participants
- Mise en pratique par des ateliers
- Sont fournis aux stagiaires :
- Support en EN présenté par un instructeur certifié en accès en ligne
- Conditions matérielles
Formation à distance : L’outil Zoom sera utilisé pour la partie Visio-Conférence
Les modalités pour valider votre parcours.
Validation & certification
- Attestation
La formation est ponctuée d’une attestation de fin de formation délivrée par Elitek au client. Y seront précisés les objectifs pédagogiques, le nombre d’heures total de la formation, la validation des acquis et la date.
Les résultats de cette formation.
Expérience & résultats
Note globale du centre, toutes formations confondues : avis Trustpilot, Google et évaluations des stagiaires.
Indicateurs publiés au titre de Qualiopi · Méthode de calcul
Trouvez la session qui vous convient.
Prochaines sessions
Un conseiller vous précise les modalités et les délais d’accès à cette formation.
Échanger avec un conseillerLa date et les modalités sont confirmées avant inscription.
Un parcours à votre mesure.
Financement
Faites le point avec un conseiller sur les solutions de financement adaptées à votre situation et à la formation choisie.
Étudier mon financementPréparez votre inscription et votre progression.
Délais d’accès & évaluation
Pour les formations avec session, la date limite d’inscription hors CPF est fixée à 7 jours avant le démarrage de la session.
La date de début dépend de la session choisie, des places disponibles et du financement. Elle est confirmée avant inscription. Pour l’e-learning, le délai de transmission des accès est indiqué dans les modalités pédagogiques.
Accessibilité & Qualiopi
Elitek est certifié Qualiopi pour ses actions de formation. Nos formations sont accessibles aux personnes en situation de handicap : un référent handicap vous accompagne pour adapter le parcours (rythme, supports, modalités d'évaluation). Contactez-nous pour étudier les adaptations possibles.
Contacter notre référent handicapLa pédagogie et le suivi, racontés par nos apprenants.
Avis de nos apprenants
Avis sur les formations Elitek, toutes certifications confondues.
Consulter les avis sur Trustpilot
« Une expérience éducative efficace, riche, complète et très à l’écoute du terrain professionnel. »
« Le formateur est très pédagogique. Le suivi est présent. »
« Très bonne formation, avec des formateurs professionnels et à l’écoute. Le contenu est clair, utile et applicable dans le monde professionnel. »
La prochaine étape
Votre projet de formation
Une session, un financement, une question sur le programme : échangeons sur ce qui compte pour vous.
Parler à un conseillerDemander un devis
Choisissez votre session, on s'occupe du reste.
