Développer en C++ Niveau 2

Présentation

Aperçu de formation

Cette formation aborde de façon concrète les avancées des versions 11/14/17 de C++: lambdas, templates variadiques, threads, mécanisme de déplacement, … Ces nouveautés permettent à C++ d’offrir des mécanismes analogues à ceux de ces concurrents tels que Java ou C#, et améliorent de façon très importante les codes produits.

Objectifs

– Utiliser les améliorations syntaxiques introduites en C++11
– Ecrire des classes C++ de meilleure qualité basées sur les déclarations explicites
– Comprendre les nouveautés en matière de gestion des exceptions
– Maîtriser les concepts de déplacement et de pointeur intelligent
– Exploiter l’API normalisée de programmation multi-threadée
– Utiliser des templates variadiques
– Développer des lambda-expressions

Public cible

Développeur, concepteur ou chef de projet MOE connaissant C++.

Programme

    Les améliorations du langage
    Ce module présente l’ensemble des améliorations destinées à rendre le code C++ plus lisible et maintenable.
    – Les avancées des versions C++ 11, 14, 17 et 20
    – Les améliorations des types: enum, unions, POD
    – Le pointeur nullptr
    – La boucle for sur intervalle
    – L’inférence de type à la compilation avec auto
    TP: première mise en pratique avec auto et la nouvelle boucle for

    Les nouveautés des classes C++
    Ce module présente l’ensemble des améliorations destinées à rendre les classes C++ plus lisibles.
    – L’initialisation des données membre
    – La délégation des constructeurs
    – La déclaration de redéfinition (override) et final
    – Les mécanismes de conversion de types explicites
    TP: réalisation d’une arborescence de classe

    Les exceptions
    Ce mécanisme de gestion d’erreur subite de grosses évolutions.
    – Les préconisations d’emploi des exceptions
    – Le pointeur sur exception courante
    – Les clauses throw et noexcept
    TP: réalisation d’un code employant la clause noexcept

    Le mécanisme de déplacement
    Présentation du mécanisme permettant d’optimiser la gestion mémoire et les performances.
    – Introduction du concept de rvalue
    – Le constructeur par déplacement et l’affectation par déplacement
    – La forme normale d’une classe
    – L’impact du principe de « move » au niveau de la STL
    – Le bon usage du mécanisme de placement (emplace_back)
    TP: réalisation d’une classe dont les instances sont « move constructible » et « move assignable »

    Les templates
    Présentation des améliorations.
    – Les templates variadiques
    – La spécialisation partielle de templates
    – Les arguments templates locaux et anonymes
    TP: utilisation de templates variadiques

    Les lambda-expressions
    La programmation fonctionnelle en C++.
    – Le concept de programmation fonctionnelle
    – La déclaration et l’appel d’une lambda-expression
    – La capture du contexte englobant
    – Les lambda-expression templates
    TP: programmation de différentes lambda-expressions avec paramètres et capture

    Les pointeurs intelligents
    Les mécanismes de gestion automatique des allocations/ libérations.
    – Le type shared_ptr et son fonctionnement (zone de contrôle)
    – Les références faibles (weak_ptr)
    – L’utilisation des smart pointers dans la STL
    TP: utilisation de shared_ptr

    Les threads normalisés
    La programmation multi-threadée en C++.
    – Le fonctionnement et les états d’un thread
    – Les techniques de lancement d’un thread (callable, async, future, promise, …)
    – Les sections critiques (mutex) et la synchronisation des threads (condition_variable)
    – La gestion mémoire (volatile et types atomiques)
    TP: parallélisation d’un algorithme et analyse des performances, réalisation d’un producteur-consommateur (moniteur de Hoare).

De Plus

Digital Finance

Please wait while flipbook is loading. For more related info, FAQs and issues please refer to DearFlip WordPress Flipbook Plugin Help documentation.

Moyens de contact

  1. Téléphone

    +216 96 803 221

  2. Email

    contact@upgradetek-engineering.com

  3. Whatsapp

Inscription

Changer de langue

    Upgradetek Engineering est un cabinet de conseil en stratégie et management, spécialisé dans la transformation des institutions financières. En tant que l'un des leaders de ce secteur en Tunisie, nous accompagnons depuis plus de 14 ans nos clients bancaires et financiers dans l'évolution de leur business model, dans la définition et la mise en œuvre de nouveaux business models cibles et dans l'amélioration de leurs performances.

    ADRESSE
    23, Avenue de Naplouse 1001 Tunis, Tunisie
    TÉLÉPHONE
    +216 71 33 93 95
    E-MAIL
    contact@upgradetek-engineering.com