- Référence : DPNC
 - Durée : 3 jours (21h)
 - Lieu : Au choix. À distance ou en présentiel, à Paris ou en Régions
 
1990€ HT
Choisir une date et RéserverVous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...
Cette formation vous présentera sous un angle conceptuel et opérationnel les nouveautés du langage C++ depuis la version 2011 et 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 des bibliothèques BOOST et STL.
Les nouveautés du langage C++ sont suffisamment conséquentes pour être réunies dans un chapitre dédié tout comme les nouveautés au niveau des classes.
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 et enfin la programmation des threads vous permettra de savoir mettre en œuvre la programmation parallèle en C++.
Objectif opérationnel:
Mettre en œuvre les nombreuses nouveautés du C++ 11 au C++ 17
Objectifs pédagogiques:
A l'issue de cette formation C++ 11/C++ 17 vous serez en mesure de:
                                Public :
                                
Cette formation C++ s'adresse aux développeurs d'applications.
                                Prérequis :
                                
	Bonnes connaissances du langage C++. Une expérience de développeur en programmation C++ est recommandée pour tirer pleinement profit de cette formation.
	Avoir suivi le stage "Programmation en C++" (DPOC) ou posséder un niveau équivalent est un minium.
C++98, C++03, C++0x, C++11, C++14, C++17
	Les versions de GCC
	Les versions d’Eclipse
	Les versions de Visual Studio
	Les librairies BOOST et STL : convergence ?
Travaux pratiques :
Test de la version installée
	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 (constexpr)
	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
Travaux pratiques :
Mise en œuvre des nouveautés
	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
	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
	Alias de template (using)
	Nombre d’arguments variables (variadic template)
	Les types locaux et non nommés comme arguments template
	Nouveaux conteneurs : unordered_XXX, forward_list, array
	Nouveaux algorithmes  
	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
	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’instantiation de la classe duration : hour, minute, etc.
Travaux pratiques :
Mise en œuvre
	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
	La fonction hardware_concurrency
Travaux pratiques :
Mise en œuvre des threads
De nombreux Travaux Pratiques viendront illustrer cette formation C++11/C++ 17. Vous retrouverez le descriptif des travaux pratiques généralement réalisés, à la fin du descriptif du cours.
Préparer la certification C++ Associate
                                
                                
                                
                                Formations Informatique
et Management
en ligne à ce jour
                            
                                +
                                
                                
                                
                                Stagiaires dans nos salles
de cours sur
l'année
                            
                                
                                4,7/5
                                
                                
                                94% de nos participants
sont satisfaits ou
très satisfaits
                            
                                
                                
                                
                                
                                Formateurs experts
validés par
PLB
                            
                                
                                
                                %
                                
                                Des participants
recommandent
nos formations