null

Langage et IDE

C++ Moderne

Objectif

Cette formation présente les nouvelles fonctionnalités de C++ 11,C++ 14 et C++17
Elle couvre les nombreuses modifications qui permettent d'écrire aisément du code plus sûr et plus rapide
Elle aborde également les nouvelles fonctionnalités de la bibliothèque standard : thread, parallélisme…

Durée : 3 jours (21 heures)

Dates :
-16/01/23
-20/03/23
-12/06/23
-30/08/23

Bien maîtriser la programmation C++ traditionnelle

Programme de la formation

Normes du C++

  • C++11/14/17 : apports, options de compilation
  • Rétrocompatibilité du code

Les évolutions du langage

  • Les espaces de nom inline
  • Les chaînes litérales brutes et Unicode
  • Les types POD (Plain Old Data) revisités
  • La constantes nullptr
  • Les expressions constantes généralisées
  • Le « range-based » for
  • Les déclarations étendues de l’amitié
  • Les litéraux définis par l’utilisateur
  • Les énumérations fortement typées
  • L’inférence de type : auto et decltype
  • Tableaux statiques : std ::array
  • Nouvelle syntaxe pour le type de retour des fonctions
  • Le mot-clé noexcept en remplacement de throw

Les nouveautés au niveau des classes

  • Initialisation des données membres non-statiques
  • Constructeurs délégués
  • Les initialiseurs de conteneurs et de données membres
  • Les rvalues-reference et la sémantique de déplacement
  • Les directives =delete et =default
  • La surcharge explicite de la virtualité (override)
  • Les méthodes et les classes « final »

Utiliser les lambda-expressions

  • Quid de la programmation fonctionnelle
  • Implémentation d'expressions lambda
  • Gestion des closures

Nouveautés dans les templates

Alias de template (using)

  • Alias de template (using)
    • Nombre d’arguments variables
    • Les types locaux et non nommés comme arguments template

    Nouveautés dans la STL

    • Nouveaux conteneurs
    • Nouveaux algorithmes

    Gestion mémoire et STL

    • Les pointeurs intelligents : unique_ptr
    • Utilisation avec la STL

    Utilisation des threads

    • Le mot-clé thread_local
    • Déclarer et exécuter un thread. Utilisation de join
    • Fonctions gérant le thread courant
    • Exclusion mutuelle
    • Gestion des mutex
    • Algorithmes génériques de verrou
    • Appel de fonction unique
    • Les variables conditionnelles
    • Futures/Asynchronisme
    • Future errors
    • La fonction hardware_concurrency
    Menu