====== Evaluation & Création de code au moment de la compilation ====== ===== Supports de cours ===== Cette séance se présente sur la forme d'un TD. Elle introduit différentes notions complémentaires à ce qui a été vu durant les différentes séances. L'objectif est de faire comprendre que l'on peut écrire du code C++ qui peut : - soit être exécuté au moment de la compilation, - soit être exécuté au moment de l'exécution du programme. Pouvoir exécuter du code au moment de la compilation a deux intérêtes : - éviter d'effectuer des calculs lors de l'exécution du programme. Cela permet de gagner en vitesse d'exécution. - permet d'écrire du code qui va générer du code au moment de la compilation, - permet d'écrire du code qui sera parmétrable au moment de la compilation, (par exemple en fonction des paramètres d'un modèle de classe). On découvre une approche dite de méta-programming qui existe dans d'autres langages (notamment Python) mais dans ces autres langages est exécutée au moment de l'exécution du programme. C++ offre des mécanismes quasiment équivalent qui permettent de réaliser cela au moment de la compilation, d'où la génération d'un code rapide et optimisé. [[in204:tds:sujets:td10|Support de TDs]]