Sélectionner une page
Formations Langage Autres langages Formation C++ Moderne

Formation C++ Moderne

Niveau confirmé
Catégorie Essential
Logo formation C++ moderne
Prix 1890€ HT / personne
3 jours (21 heures)

Paris | Classe Virtuelle

Dernières places Virtuelle uniquement
Labs : Infrastructure DaaS avec Chrome
Cafés et déjeuners offerts en interentreprises
En intra-entreprise pour former votre équipe
Aide au financement 4000€ Bonus Atlas CPF

Présentation

Cette formation C++ moderne s’adresse aux personnes qui maitrisent déjà les bases du langage C++ et souhaitent se perfectionner pour gagner en robustesse, performante et productivité.

L’écosystème C++ évolue en effet de façon intense depuis 2011, au rythme d’une nouvelle norme tous les 3 ans. Côté hardware, la multiplication des cœurs ces dernières années implique aussi de repenser sa manière de programmer. Tout cela pose un vrai défi d’adaptation, tant pour assimiler les nouveautés que pour se défaire de pratiques désormais obsolètes.

C’est pour répondre à ce défi que cette formation a été conçue. En mettant en lumière les principes fondamentaux qui guident l’évolution du langage, il devient beaucoup plus facile de progresser sans se perdre dans la complexité. Et donc d’écrire un code plus simple et plus fiable à la fois.

Comme pour toutes nos formations, celle-ci vous présentera la toute dernière version de C++, à savoir C++ 20.

 

Objectifs

  • Assimiler et mettre en œuvre les principes du C++ moderne
  • Se familiariser avec les évolutions de C++ jusqu’à C++20
  • Maitriser les concepts avancés de programmation parallèle et concurrente

 

Public visé

  • Développeurs
  • Architectes

 

Pré-requis

  • Connaissance basique en C++ (notion d’objet et pointeur)

Programme de la formation C++ Moderne et Multithreading

 

Révision des bases du langage

  • Définition du langage C++
  • Les fonctions: inline, static, const, constexpr, virtual, consteval, …
  • Plain Old Data (POD) : struct vs class
  • Déclaration vs définition (One Definition Rule)
  • La STL : ses conteneurs et ses algorithmes
  • Principes de base des templates, différence avec constexpr
  • Comportements indéfinis (Undefined behavior)

 

Fondements du C++ moderne

  • Présentation des C++ Core Guidelines
  • Évolutions dans la syntaxe (C++14, C++17, C++20)
  • Gestion robuste des ressources (RAII, smart pointers, scope guards)
  • Notion de propriété (ownership), sémantique de déplacement (std::move)
  • Sémantique de valeur / entité
  • Simplifier les initialisations complexes avec des lambdas
  • Un code plus robuste et expressif avec des alias fortement typés (strong typedefs)

 

Programmation orientée objet avancée

  • Polymorphisme statique et dynamique
  • Principe de substitution de Liskov
  • Héritage vs composition
  • Classes abstraites, PIMPL
  • POO sans héritage
  • Principes SOLID

 

Notions de programmation fonctionnelle

  • Les lambdas
  • Immutabilité (const) et fonctions pures
  • Type optionnel avec std::optional
  • Type composite avec std::variant
  • Type erasure : std::string_view, std::span

 

Multithreading et scalabilité

  • Parallélisme vs concurrence
  • Race condition, impact du mot-clé const
  • Protection des sections critiques (std::mutex, std::condition_variable, …)
  • Enjeux de la scalabilité (loi d’Amdahl)
  • Algorithmes parallèles de la STL (C++17)
  • Programmation lock free (std::atomic)
  • Programmation asynchrone : promise, future, coroutines
  • Map, filter, reduce (Qt Concurrent)
  • Thread Local Storage (thread_local)
  • Détecter les problèmes (outils disponibles)
  • Autres approches : OpenMP, CUDA, Boost.Interprocess, gRPC

 

Outils modernes du développeur C++

  • Bien configurer son compilateur
  • Tests unitaires avec Catch2
  • Utilisation de CMake et des CMake presets
  • Formatage automatique du code avec clang-format
  • Gestion de dépendances avec Conan
  • Couverture de code avec gcov / lcov
  • Analyseurs statiques
  • Compiler explorer (Godbolt)

Langues et Lieux disponibles

Langues

  • Français
  • Anglais / English

Lieux

  • France entière
    • Paris
    • Lille
    • Reims
    • Lyon
    • Toulouse
    • Bordeaux
    • Montpellier
    • Nice
    • Sophia Antipolis
    • Marseille
    • Aix-en-Provence
    • Nantes
    • Rennes
    • Strasbourg
    • Grenoble
    • Dijon
    • Tours
    • Saint-Étienne
    • Toulon
    • Angers
  • Belgique
    • Bruxelles
    • Liège
  • Suisse
    • Genève
    • Zurich
    • Lausanne
  • Luxembourg

Nos Formateurs Référents

Aurélien

Aurélien

Expert du langage C++, membre actif et passionné de sa communauté depuis… bientôt 20 ans ! J’ai à cœur d’aller chercher à sa source une information de qualité pour ensuite la partager de façon la plus intelligible possible. Venez donc explorer avec moi toute la richesse de ce langage !

Témoignages

5 février 2025

Les + : Vraiment ciblé sur les nouveaux concepts du C++

Les – : Mériterait plus de temps de pratique avec des exercices en autonomie plus ciblé sur chaque concept pour en appréhender plus facilement le contenu

En synthèse : Formation et formateur au top

David L. de chez Ubisoft (MONTPELLIER)

Afficher tous les témoignages

5 février 2025

Les + : Vraiment ciblé sur les nouveaux concepts du C++

Les – : Mériterait plus de temps de pratique avec des exercices en autonomie plus ciblé sur chaque concept pour en appréhender plus facilement le contenu

En synthèse : Formation et formateur au top

David L. de chez Ubisoft (MONTPELLIER)
5 février 2025

Les + : Beaucoup d’exemples et bien expliquer toutes les subtilités des notions apprises pour poser une compréhension claire

Je souhaite suivre : Multithreading

Bastien N. de chez Ubisoft (MONTPELLIER)
5 février 2025

Les + : Le rythmequipermet de poser les questions

Xavier L. de chez Ubisoft (MONTPELLIER)
5 février 2025

Les + : Rythme, programme adéquat

Optimisation cache miss

Critique du clean code

Les – : Pas de programmation parallèle 🙁

Sylvain C. de chez Ubisoft (MONTPELLIER)
5 février 2025

Les + : On nous montre bien l’évolution des outils qu’apportent le C++ moderne en comparant les anciennes pratiques et les nouvelles. Cela nous permets de comprendre l’intérêt d’évoluer vers les outils modernes et le fonctionnement de ces outils.

Les – : Formation très intéressante mais non applicable sur certains poins pour le projet. On manipule souvent des données complexes pour lesquelles les outils du C++ moderne ne sont pas encore adaptés…

Jean Louis D. de chez Ubisoft (MONTPELLIER)
5 février 2025

Les + : bonne présentation ,explications claires ,bon rythme, adapté à notre pratique quotidienne, facilement mis en pratique,

Svetlana K. de chez Ubisoft (MONTPELLIER)
5 février 2025

Les + : Elle permet l’approfondissement des connaissance sur des structure que l’on croise tout les jours et permet une meilleure compréhension sur la manière de les utiliser de façon efficiente.

En synthèse : Merci beaucoup!

Morgan M. de chez Ubisoft (MONTPELLIER)
3 octobre 2024

Les + : Aborde plein de notions différentes

Les – : Un peu trop rapide pour moi (mais le niveau du groupe est assez élevé donc plutôt logique)

Je souhaite suivre : Gestion de projet

Gaëtan M. de chez NETATMO
3 octobre 2024

Les + : Explications très claires

Steeve V. de chez NETATMO
3 octobre 2024

Les + : Tourné vers le C++ moderne, rafraichi beaucoup de connaissance. On voir beaucoup de choses et pas mal de concepts.

Les – : Il manque un support de formation, j’aimerai bien qu’on puisse voir le fils de la formation et s’y retrouver.

Un support permet de faire un résumé sur les différents points abordé et de re-clarifier les concepts clés.

La partie dev est vraiment bien aussi mais le contenu peut devenir brouillon sur l’IDE et on a du mal a s’y retrouver quelques fois.

Je souhaite suivre : Aucune.

En synthèse : Le contenu est top, il y a des points d’amélioration sur le support/format.

Rien de bien méchant mais la formation gagnerait en qualité sur ce point.

Il ne faut pas remettre en cause le font mais un peu travailler la forme.

Ca aiderait aussi le formateur pour l’animation de la formation.

Audric R. de chez NETATMO
3 octobre 2024

Les + : Contenu de la formation. Réponses aux questions même en dehors du scope de la formation.

Les – : Manque un peu de dynamisme.

Laure D. de chez NETATMO
3 octobre 2024

Je recommande la formation

Alice L. de chez NETATMO

Noter la formation

Prix 1890€ HT / personne
3 jours (21 heures)

Paris | Classe Virtuelle

Dernières places Virtuelle uniquement
Labs : Infrastructure DaaS avec Chrome
Cafés et déjeuners offerts en interentreprises
En intra-entreprise pour former votre équipe
Aide au financement 4000€ Bonus Atlas CPF

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp