Bonjour,

J'essaie de comprendre quelques notions "avancées" du c++, et je viens de lire l'article métaprogrammation. Il est très bien écrit, mais le concept m'échappe.
De ce que je comprends, on optimise des fonctions à la compilation en utilisant des ruses de sioux pour les transcrire sous forme de template.
Bon, mais du coup, je ne comprends pas pourquoi la même chose ne peut pas être faite par le compilateur, par exemple en lui spécifiant que la fonction pourrait être précalculée. Si l'optimisation est faisable quand c'est un template, il n'y a pas de raison qu'elle ne soit pas faisable quand c'est une fonction. Peut-être faut-il ajouter des mot-clés, mais en l'état, ça me parait assez inélégant de devoir potentiellement écrire la même chose selon deux syntaxes différentes pour des questions d'optimisation.

Qu'en pensez-vous ?