Formation C++ : Modern Design (les nouveautés 11/14/17/20)

icon public

Public : Tous

icon horloge

Durée : 4 jour(s)

Syllabus de la formation C++ : Modern Design (les nouveautés 11/14/17/20)

Pré-requis : Notions de C++

Objectifs : Apprendre les nouveautés du C++

Sanction : Attestation de fin de formation mentionnant le résultat des acquis

Taux de retour à l’emploi : Aucune donnée disponible

Référence : PRO102286-F

Taux de satisfaction : 4,43 / 5

Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins

Contact : commercial@dawan.fr

À partir de

1 275,00 € HT / jour

2 620,00 €HT

1 821,43 € HT

Pour 10 heures utilisables pendant 12 mois

3 275,00 € HT

Tarif plein:

  • Paiement à 60 jours
  • Report possible à J-3
  • 3 tickets d'assistance

2 620,00 € HT

Tarif remisé :

Contacter Dawan

Programme de Formation C++ : Modern Design (les nouveautés 11/14/17/20)

Découvrir les nouveautés fondamentales du Core Language

Le littéral nullptr et les types normalisés (uint_8, uint64_t, …), les littéraux et séparateurs
Inférence de types et de signatures avec auto
Variables templates (C++ 14)
Initialisation uniforme des variables, de tableaux et des conteneurs
Parcours unifié des tableaux et conteneurs avec La boucle "range based" for
Listes d’initialisation avec initializer_list
Énumérations fortement typées (C++11/17)
Littéraux personnalisés
Amélioration du contrôle de flux avec les Init-statements (C++17/20)
L’opérateur sizeof appliqué aux membres d’un objet ou d’une classe
Contrôle de l’alignement mémoire
L'opérateur decltype
Déconstruction avec les structured bindings (C++17)
Les spécificateurs de classe (override, default, delete, final)
Constructeur délégué et constructeur hérité
Initialisation de membres
Constructeur explicite multi-paramétré
Abraham’s Exception safety guarantees et la clause noexcept
Données inline
Métaprogrammation avec constexpr
Les spécificateurs consteval et constinit (C++20)
Les attributs (C++11/17/20)
L’opérateur de comparaison « Three Way » <=> (C++20)
Paramètres nommés pour la construction des structures (C++20)
Améliorations apportées aux fonctions génériques et aux lambdas (C++17/20)


Découvrir les nouveautés de la librairie standard

Les nouveaux itérateurs
Les tableaux à taille fixe avec std ::array
La classe std ::string_view (C++ 17)
La classe std ::span (C++ 20)
Nouveautés de la classe std ::string (C++17)
Les classes std ::variant, std ::any et std::optional (C++17)
Les nouvelles collections associatives : unordered_map/set et hash
Singly-Linked Lists
Le conteneur tuple
Les nouveaux algorithmes ensemblistes
Gestion du temps, l’espace de nom chrono
Générateurs / distributions de nombre aléatoires
La librairie Ranges, les vues et les adaptateurs de vues (C++20)
Pipelining avec les nouveaux algorithmes sur vues (C++20)
Sorties formattées avec std ::format et les placeholders (C++20)
Constructeurs constexpr des conteneurs
La librairie filesystem (C++17)


Move semantics

Copie versus déplacement
Value et RValue reference
La fonction std::move
Move constructor et move assignment operator
Complétude étendue des classes
R-value reference et STL
STL C++11 et swap / move
Signature reference qualifiers
Perfect forwarding avec std::forward
Références forward et collapsing
Copy elision et Guaranted RVO (C++17)


Gérer des ressources

L’idiome RAII (Resource Acquisition Is Initialization)
Propriété et transfert de responsabilité
La classe unique_ptr
Comptage de références avec la classe shared_ptr
Custom deleter
Les fonctions make_unique et make_shared
La classe weak_ptr et le référencement circulaire


Maîtriser la programmation fonctionnelle

Problématique de l’abonnement
Pointeur de function / méthode / membre statique
Les classe function et mem_fn
Binding, placeholders
Adaptateurs de références


Utiliser la généricité

Typage multiple avec les mixins
Paramétrage et spécialisation des méthodes
Héritage / containment et généricité
Métaprogrammation
L’idiome CRTP Curiously Recursive Template Pattern
Typologie C++ et classes de traits
Assertions statiques avec static_assert
Extended friend declaration
Les variadic templates, pattern matching et héritage multiple
Constexpr_if (C++17)
Implémentation générique du pattern visitor avec std ::visit (C++17)
Définition de contrats génériques avec les concepts (C++20)
Mise en œuvre de contraintes avec requires (C++20)
Concepts prédéfinis de la librairie standard (C++20)


Créer des modules (C++20)

Unités d’interface et d’implémentation
Sous modules et partitions
Module linkage


Gérer le Multithreading et concurrence

Démarrage et détachement d’un thread
Threads et gestion des exceptions
La classe std::call_once
L’espace de noms this_thread
Futures / promises et packaged_task
Les futures, politique de démarrage (parallèle ou asynchrone) et gestion des exceptions
Partage de ressources et mécanismes de synchronisation
Mutexes données atomiques (C++11/20)
Unique-lock et lock_guard
La classe std::jthread (C++20)
Synchronisation avec les sémaphores et les mécanismes latches et barriers (C++ 17/20)
Flux de sortie synchronisés (C++ 20)

Les versions récentes de C++ ont introduit des fonctionnalités et des paradigmes qui diffèrent sensiblement de C++98. Ces évolutions incluent des améliorations notables en termes de syntaxe, de sécurité et de performance.

La version 20 est désormais complètement implémentée et adoptée dans l’industrie.

Cette formation, exclusivement consacrée aux nouveautés, vous permettra de mettre en œuvre ces approches désormais incontournables.

  • Un support et les exercices du cours pour chaque stagiaire
  • Un formateur expert ayant suivi une formation à la pédagogie
  • Boissons offertes pendant les pauses en inter-entreprises
  • Salles lumineuses et locaux facilement accessibles
  • Méthodologie basée sur l'Active Learning : 75% de pratique minimum
  • Matériel pour les formations présentielles informatiques : un PC par participant
  • Positionnement à l'entrée et à la sortie de la formation
  • Certification CPF quand formation éligible

Suite de parcours et formations associées

Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.

Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 09 72 37 73 73 (prix d'un appel local) ou depuis notre formulaire de contact.

Nos centres de formation

  • Bordeaux

    Nos locaux sont accessibles

    Bât Ravezies - 2e étage 250 avenue Emile Counord

    33300 Bordeaux

    Liaison directe de la gare Bordeaux Saint-Jean via le tram C

  • Distance

    32 Boulevard Vincent Gâche

    44000 Nantes

  • Lille

    Nos locaux sont accessibles

    46 rue des Canonniers - 2è étage

    59800 Lille

    Proche des deux gares

  • Lyon

    Nos locaux sont accessibles

    62 rue de Bonnel - 1er étage Ascenseur à droite de l'entrée

    69003 Lyon

  • Marseille

    Nos locaux sont accessibles

    38/40 rue de la République Escalier A, 1er étage

    13001 Marseille

    A proximité du vieux port

  • Montpellier

    Nos locaux sont accessibles

    26 Allée de Mycènes Le Thèbes, Bât. A, 3è étage

    34000 Montpellier

    Quartier Antigone

  • Nantes

    Nos locaux sont accessibles

    32 Boulevard Vincent Gâche 5 ème étage

    44200 Nantes

  • Nice

    Nos locaux sont accessibles

    455 promenade des Anglais Bât Arenice, 7è étage

    06200 Nice

  • Paris

    Nos locaux sont accessibles

    11 rue Antoine Bourdelle

    75015 Paris

    dans le 15e arrondissement

  • Rennes

    Nos locaux sont accessibles

    3 place du Général Giraud

    35000 Rennes

  • Strasbourg

    Nos locaux sont accessibles

    4 rue de Sarrelouis - 4è étage

    67000 Strasbourg

  • Toulouse

    Nos locaux sont accessibles

    1 place Occitane Bât. Le Sully - 4è étage

    31000 Toulouse

    Proche de Jean-Jaurès et du Capitole