Formation Du C++ 11 au C++20 pour développeur C++

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

À 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

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 1 860,00 €

Durée 3 jours (21h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 1 860,00 €

Durée 3 jours (21h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

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.

Programme

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

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.

Public

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

Ces formations pourraient vous intéresser

Objectifs de la formation

  • Exécuter en toute sécurité des interventions d'entretien, de dépannage et des opérations de consignation sur des installations et équipements électriques basse tension (BR)
  • Exécuter en toute sécurité des travaux électriques et des opérations de consignation pour des travaux sur des installations et équipements électriques basse tension.
  • Gérer et appliquer la réglementation selon la norme NF C 18-510
  • Maintenir son habilitation électrique initiale
Tarif

A partir de 1 390,00 €

Durée

2j / 11h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Titre professionnel RNCP31114 Bloc 1 Niveau 5 - Bac+2 (BTS)
Tarif

A partir de 690,00 €

Durée

4j / 32h

Modes
  • Entreprise
  • Distance

Objectifs de la formation

Le langage OCaml est un langage fonctionnel créé par Xavier Leroy, chercheur à l’INRIA. Relevant du paradigme fonctionnel, le langage OCaml trouve son réel usage dans les traitements de données complexes pour lequel il déploie une expressivité sans pareil. Le langage OCaml est également orienté objets, s’intègre avec les bibliothèques C dispose de sa propre bibliothèque standard.

Vous découvrirez une autre approche de la programmation, dite fonctionnelle, plus élégante. Vous apprendrez les bases conceptuelles ainsi qu'une syntaxe particulière, et vous aborderez des notions comme l'immuabilité ou l'expression lambda. Puis, avant de finir sur un exemple concret (parseur), vous découvrirez les structures de contrôle et les types complexes, incontournables en langage fonctionnel.

Si vous êtes programmeur ou développeur et que vous souhaitez améliorer votre façon de programmer, tout en étant encore plus efficace, suivez cette formation.

Tarif

A partir de 1 860,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Concrètement, à l'issue de cette formation Langage C# avancé vous serez en mesure de:

  • Créer et déployer un service Windows
  • Optimiser le code de vos applications
  • Programmer en des application multithreads
  • Implémenter des WebServices SOAP et REST
  • Utiliser les sockets pour  la programmation réseau
  • Utiliser WPF
  • Utiliser LINQ dans un programme C# 
Tarif

A partir de 2 420,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Power BI Desktop - Maitriser le langage DAX

Proposé par CIT FORMATION INFORMATIQUE

Objectifs de la formation

Tout utilisateur Expert Microsoft Power Bi souhaitant maîtriser le langage DAX pour optimiser ses rapports Power BI.

À l'issue de la formation, le stagiaire sera capable de :

  • Travailler avec des tables calculées
  • Maîtriser les contextes d’évaluation (ligne et filtre)
  • Optimiser les requêtes DAX
Tarif

A partir de 450,00 €

Durée

1 jour(s)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

  • Etre capable d'exécuter en toute sécurité des opérations d'ordre non électrique dans un environnement présentant des risques électriques
  • Apprendre et appliquer la règlementation selon la norme NF C 18-510
Tarif

A partir de 1 390,00 €

Durée

1j / 7h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation Big Data Développement, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Connaître les spécificités du Big Data
  • Savoir mettre en œuvre les technologies relatives au Big Data
  • Comprendre et exploiter le Machine Learning
  • Pouvoir tirer partie de la visualisation des données
Tarif

A partir de 2 390,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

ECMAscript provient de la standardisation du langage Javascript selon les normes ECMA. La version 6 (ES6 / ES2015) a amené de nombreux changement car elle était séparée de 6 ans de la version ES5. Aujourd’hui les changements amenés par les dernières versions sont publiés tous les ans : ES2016, ES2017, ESNext, etc. et sont moins significatifs. Il est donc très important pour un développeur Javascript de maîtriser les apports de la version ES6 que l’on rencontre également comme socle des frameworks standards comme AngularJs, NodeJS, ReactJS, etc. L’objectif principal de cette formation Javascript ES6/7, ESNext, est de vous amener à maîtriser les nouvelles composantes de ce langage et d’améliorer la qualité de votre code.

Parmi les principales nouveautés Javascript vous apprendrez à utiliser les nouveaux keywords « let » et « const », vous saurez manipuler les littéraux de gabarit ainsi que les opérateurs « spread » et « rest », vous comprendrez l’intérêt des fonctions fléchées, vous saurez affecter des variables depuis des tableaux ou des objets (décomposition), vous apprendrez à gérer les événements asynchrones avec les promesses (promises), vous utiliserez efficacement les constructeurs et les classes et enfin vous donnerez une dimension plus professionnelle à vos développements en les structurants en modules.

Etant donné le caractère évolutif des versions une attention particulière sera donnée à la compatibilité avec les navigateurs et les principaux frameworks Javascript.

Tarif

A partir de 1 390,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Comprendre le fonctionnement des modèles génératifs comme ChatGPT.
  • Maîtriser l’interaction avec l’API OpenAI et l’utilisation de ChatGPT pour effectuer des tâches de génération, de refactorisation, d'optimisation et de nettoyage du code.
  • Utiliser l'IA pour la détection et la correction de failles de sécurité.
  • Comprendre les limitations, les risques, et les évolutions possibles des IA génératives.
Tarif

A partir de 1 750,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Connaitre la règlementation en matière d'électricité sur véhicules électriques (norme NF C 18-550)
  • Savoir évoluer dans un environnement électrique
  • Savoir rendre compte de l'opération réalisée
  • Réaliser les opérations sur batteries (mise en place de protection, connexion, déconnexions, manipulations, contrôles, nettoyage)
  • Appliquer les consignes de sécurité prévues par la norme NF C 18 550
Tarif

A partir de 1 390,00 €

Durée

1j / 7h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...