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…
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.
Alternance entre apports théoriques et exercices pratiques (en moyenne 30 à 50%)
Remise d'un support de cours.
Moyens techniques
Modalités d'évaluation
Feuille de présence signée en demi-journée,
Evaluation des acquis tout au long de la formation,
Questionnaire de satisfaction,
Attestation de stage à chaque apprenant,
Positionnement préalable oral ou écrit,
Evaluation formative tout au long de la formation,
Evaluation sommative faite par le formateur ou à l'aide des certifications disponibles
Modalités distance
A l’aide d’un logiciel (Teams, Zoom…), d’un micro et éventuellement d’une caméra les apprenants interagissent et communiquent entre eux et avec le formateur.
Sessions organisées en inter comme en intra entreprise.
L’accès à l’environnement d’apprentissage ainsi qu’aux preuves de suivi et d’assiduité (émargement, évaluation) est assuré.
Pour toute question avant et pendant le parcours, assistance technique à disposition au 04 67 13 45 45.
Profil formateur
Nos formateur sont des experts dans leurs domaines d'intervention
Leur expérience de terrain et leurs qualités pédagogiques constituent un gage de qualité.
Accessibilité
Les personnes en situation d'handicap sont invitées à nous contacter directement, afin d'étudier ensemble les possibilités de suivre la formation.
Pour tout renseignement, notre référent handicap reste à votre disposition : mteyssedou@ait.fr
Développeurs utilisant déjà le C++
Compte personnel de formation
La formation n'est pas compatible avec le Compte personnel de formation
Sessions inter-entreprises
La formation est compatible avec l’organisation en session inter-entreprises
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)
- 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