Informatique

C++ Moderne

C++ Moderne

Réf 4-C++-11
Durée 3 jours

Objectifs

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, ...

Infos

Sessions à venir

18 jan-20 jan 2021
22 mar-24 mar 2021
07 jun-09 jun 2021

Certifications :

Nous consulter

Programme

Normes du C++

  • C++11/14/17 : apports, options de compilation
  • Rétro-compatibilité 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)

  • 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

En savoir +

Prérequis

Bien maîtriser la programmation C++ traditionnelle

Moyens pédagogiques

Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants 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.
Remise d'un support de cours.

Possibilité de certification

Nous consulter.