Formation Du C++ 11 au C++20 pour développeur C++ Tirer parti des nouvelles fonctionnalités à partir de la version 2011 de C++

4 sur 5 étoiles

5 étoiles
0%
4 étoiles
100%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 3 avis
(3 avis)
Durée 3 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DCNV
Éligible CPF Non

Cette formation C++11/C++20 vous présente sous un angle conceptuel et opérationnel les nouveautés du langage C++ depuis la version 2011. Plus généralement, au-delà des nouveautés, vous disposerez d’une vue complète sur le langage C++.

Après avoir présenté les différences au niveau de l’environnement de développement et des compilateurs, nous présentons le positionnement de la bibliothèque STL.

Vous apprenez à utiliser la puissance des lambda-expressions pour combiner les avantages des pointeurs et des objets de fonction tout en évitant leurs inconvénients.

Vous allez comprendre les apports dans la mise en œuvre de la puissante bibliothèque de templates STL (Standard Template Library) notamment pour les algorithmes et structures autour des vecteurs, listes, file, et piles.

Vous saurez gérer le temps de façon efficace avec le namespace chrono. Enfin, la programmation des threads vous permettra de savoir mettre en œuvre la programmation parallèle en C++.

Les dernières nouveautés, à savoir les co-routines et modules de C++ 20, sont également traitées.

Objectif opérationnel :

Comprendre et savoir mettre en œuvre les nombreuses nouveautés du langage C++ 11 au C++ 20.

Objectifs pédagogiques :

À l'issue de cette formation C++11/C++20, vous serez en mesure de :

  • Connaître les nouveaux mots-clés du langage
  • Mettre en œuvre les pointeurs intelligents
  • Maîtriser la sémantique de mouvement
  • Comprendre la notion de transfert parfait
  • Connaître les expressions lambdas
  • Mettre en œuvre les threads et les coroutines
  • Connaître les nouvelles API de la STL

Public :

Ce cours C++11/C++20 s'adresse principalement aux développeurs d'applications.

Prérequis :

Pour suivre cette formation C++11/C++20, il est nécessaire d'avoir de bonnes connaissances en langage C++. Une expérience de développeur en programmation C++ est vivement recommandée pour tirer pleinement profit de cette formation.
Avoir suivi la formation Programmation en C++ (DPOC) ou posséder un niveau équivalent est un minimum.

Bref historique des versions de C++ passées, présentes et futures

C++98, C++03, C++0x, C++11, C++14, C++17, C++20

Les outils de développement

Les versions de GCC
Les versions d’Eclipse
Les versions de Visual Studio

Travaux pratiques

Test de la version installée

Les nouveautés du langage C++11/C++17

Les espaces de nom inline
Les chaînes littérales brutes et Unicode
Les types POD (Plain Old Data) revisités
La constantes nullptr
Les expressions constantes généralisées (constexpr)
Le « range-based » for
Les déclarations étendues de l’amitié
Les litté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

Travaux pratiques :

Mise en œuvre des nouveautés

Les nouveautés au niveau des classes en C++11/C++17

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 (move constructeur et surcharge de l’opérateur d’affectation par déplacement)
Les directives =delete et =default
La surcharge explicite de la virtualité (override)
Les méthodes et les classes « final »

Travaux pratiques

Forme canonique d’une classe avec la sémantique de déplacement

Vers la programmation fonctionnelle en C++11/C++17

Les lambda-expressions : syntaxe, typage, utilisation
Intérêt de « auto » et « decltype » avec les lambda-expressions
La gestion des fermetures (closures) liées au contexte

Travaux pratiques

Mise en œuvre des lambda-expressions

Nouveautés dans les templates avec C++11/C++17

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

Nouveautés dans la STL

Nouveaux conteneurs : unordered_XXX, forward_list, array
Nouveaux algorithmes  

Gestion mémoire et STL

Les pointeurs intelligents : unique_ptr (auto_ptr est obsolète) , weak_ptr, shared_ptr.
Utilisation avec la STL

Travaux pratiques

Mise en œuvre des pointeurs intelligents

Le namespace chrono

Les classes duration et time_point
Les horloges system_clock, steady_clock et high_resolution_clock
Les traits : treat_as_floating_point, duration_values, common_type (duration)
Les fonctions duration_cast et time_point_cast
Les typedefs d’instanciation de la classe duration : hour, minute, etc.

Travaux pratiques

Mise en œuvre

Utilisation des threads

Le mot-clé thread_local
Déclarer et exécuter un thread. Utilisation de join
Fonctions gérant le thread courant : yield , get_id , sleep_for, sleep_until
Exclusion mutuelle : mutex, timed_mutex, etc.
Gestion des mutex : lock_guard, unique_lock, etc.
Algorithmes génériques de verrou : try_lock, lock
Appel de fonction unique : once_flag, call_once
Les variables conditionnelles
Futures/Asynchronisme : promise, packaged_task, future, shared_future, async, etc.
Future errors

Travaux pratiques

Mise en œuvre des threads

Les nouveautés du langage C++20

Coroutines
Modules
Contraintes et Concepts
Nouvel opérateur de comparaison
Initialiseurs désignés
Mots-clés consteval et constinit
Mots-clés no_unique_adress, likely et unlikely
Nouveautés dans la librairie STL

Travaux pratiques

Mise en œuvre des co-routines
Mise en œuvre des modules

Date de mise à jour du programme : 14/04/2021

Dates et lieux

Du 12 au 14 juin 2024
Lieu
Distanciel
Durée
3 jrs
1860 € HT
Du 12 au 14 juin 2024
Lieu
Paris
Durée
3 jrs
1860 € HT
Du 12 au 14 août 2024
Lieu
Distanciel
Durée
3 jrs
1860 € HT
Du 12 au 14 août 2024
Lieu
Paris
Durée
3 jrs
1860 € HT
Du 16 au 18 octobre 2024
Lieu
Distanciel
Durée
3 jrs
1860 € HT
Du 16 au 18 octobre 2024
Lieu
Paris
Durée
3 jrs
1860 € HT
Du 11 au 13 décembre 2024
Lieu
Distanciel
Durée
3 jrs
1860 € HT
Du 11 au 13 décembre 2024
Lieu
Paris
Durée
3 jrs
1860 € HT

Avis des participants à la formation Du C++ 11 au C++20 pour développeur C++

Note moyenne de 4/5(3)

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.

DP
4/5

Mon avis sur le contenu du stage :

"3 jours c'est trop court, nous n'avons pas eu le tps d'approfondir les concepts C++"

Mon avis sur le formateur :

"Très bon. Conseil: devrait passer un peu moins de temps sur les concepts les plus simples pour gagner du temps pour les plus compliqués."

CM
4/5

Mon avis sur le contenu du stage :

"Peut etre un peu plus accentuer, sur les bonnes pratiques à avoir de l'utilisations des nouvelles methodes apprises. Mais donne de bonnes bases solides et bons rappels fondamentaux à bien connaître"

LE
4/5

Mon avis sur le contenu du stage :

"contenu dense"


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB