Méta-programmation

1 250 euros HT / 1 pers.

Expert

Cycle C++

21 heures de cours sur 5 jours

Objectif :

Cette formation permet de découvrir et de mettre en œuvre les idiomes fondamentaux de la métaprogrammation en C++14, C++17 et C++20.

Bénéfices attendus :

  • Se familiariser avec les principes généraux de la méta-programmation.

  • Savoir quand et comment l’utiliser.

Public :

  • Ingénieurs, techniciens et scientifiques désirant approfondir leur pratique du langage. 

  • Une bonne maîtrise du langage C++ est nécessaire.

Programme :

Introduction

Impacts de la méta-programmation 

C++ comme un langage méta- programmable


Techniques de base

Template de fonction et de classe 

Spécialisation et spécialisation partielle 

Inférence du type de retour
Template variadique

Perfect Forwarding et Références Universelles
Alias de type
Mise en pratique : exercices, évaluation


Manipulation de types

Notion de traits
Introspection
Génération de type
Détection d’interface
Erreur de compilation via static_assert 

Séquence de types et algorithmes associés

Mise en pratique : exercices, évaluation


Génération de code

Duplication de code
Génération conditionnelle : SFINAE 

Génération conditionnelle : Tag Dispatching
Génération : if constexpr
Calcul à la compilation via template 

Calcul à la compilation via constexpr 

Mise en pratique : exercices, évaluation


Applications

Fonctions génériques contraintes 

Détections de plateformes  

Programmation générative
Mise en pratique : exercices, évaluation