Formation C++ 11/C++17 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

A l'issue de cette formation C++ 11/C++ 17 vous serez en mesure de:

  • Maitriser les nouveaux mots-clés du langage
  • Mettre en oeuvre les pointeurs intelligents
  • Connaitre la sémantique de mouvement
  • Comprendre la notion de transfert parfait
  • Maitriser les expressions lambdas
  • Mettre en oeuvre les threads
  • Connaitre 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  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++.

Programme

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

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

Les outils de développement

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 nouveautés du langage C++ 11/C++ 17

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

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’instantiation 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
La fonction hardware_concurrency

Travaux pratiques : 

Mise en œuvre des threads

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.

Public

Cette formation C++ s'adresse aux développeurs d'applications.

Ces formations pourraient vous intéresser

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Créer votre propre module qui sera capable d'interagir avec Drupal
  • Utiliser Drupal comme un framework pour accélérer vos développements maison, en vous appuyant sur vos API
  • Expliquer le fonctionnement global de Drupal et le container (Symfony 2)
  • Adapter le fonctionnement du coeur de Drupal ou de modules communautaires sans toucher à leur code source.
Tarif

A partir de 1 830,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Optimiser le fonctionnement de manière générale
  • Améliorer les performances du traitement des données
  • Simplifier et améliorer le look et l'ergonomie de l'interface utilisateur
  • Créer des scripts avancés et instaurer des routines de maintenance
  • Sélectionner, installer et paramétrer des plug-ins pour augmenter les fonctionnalités
  • Connecter votre solution à des bases de données externes non-FileMaker
  • Gérer les erreurs courantes et optimiser la maintenance des bases de données
  • Exporter votre solution pour qu'elle tourne de manière autonome avec le runtime FileMaker.
Tarif

Contacter l'organisme

Durée

2j / 14h

Modes
  • Centre
  • Distance

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

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

Formation Blazor

Proposé par Sparks

Objectifs de la formation

  • Comprendre les principes de développement et l'architecture Blazor
  • Développer des interfaces utilisateurs en utilisant les différents composants disponibles
  • Créer des pages, travailler le routage côté client et gérer les mises en page
  • Accéder aux données et les gérer dans une application
  • S'approprier les outils et meilleures pratiques pour développer avec Blazor
Tarif

A partir de 1 800,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Cette formation intensive au développement macOS vous permettra de disposer de solides bases pour développer des applications Mac professionnelles et grand public autour des incontournables MacBook Air, MacBook Pro, iMac, MacMini et MacPro.
Une fois votre environnement de développement et le langage Objective-C maîtrisés vous abordez les API du SDK OS X, comme la gestion des données et l'interface utilisateur afin de disposer d'une bonne vue d'ensemble et de pouvoir développer vos premières applications macOS.
Les nouveautés concernant Xcode, le SDK macOS, les API iCloud/NSDocument.
Enfin en conclusion, une présentation du développement pour iPhone et iPad vous permettra d'évaluer la réutilisabilité de vos compétences pour le développement d'application mobile.

Tarif

A partir de 2 895,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Comprendre les différentes architectures logicielles
Tarif

A partir de 2 250,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Les objectifs de la formation Habilitation électrique initiale : opérations d’ordre électrique en Basse Tension (BT) B1(V), B2(V), B2V Essai, BR, BE Essai et/ou Mesure et/ou Vérification, BC, H0-H0V :

- Exécuter en sécurité des opérations sur les installations et équipements électriques basse tension dans le respect des prescriptions de la NF C 18-510

Tarif

A partir de 1 195,00 €

Durée

2,5 jours + 0,5 jour de Travaux Pratiques - 21 h

Modes

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

Etre capable de réaliser une application Android incluant du code en C - Savoir estimer les conséquences et qualités de cette solution
Tarif

A partir de 1 745,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...