Salut
Est-ce que quelqu'un voit comment faire une boucle "for" en meta-programmation sur un intervalle constant?
Il faudrait que cette boucle se déroule complètement pour le compilo et que l'on ait accès au numéro d'itération dans la boucle.
Pour l'exemple du factoriel de 10, quelque chose qui ressemblerait plus ou moins à ceci:
Ou peut-être bien avec un foncteur, du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 fact*=1 meta_for<1,10> { fact*=I; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 struct fact { int x; fact() :x(1) {}; void operator() (int i) { x=i*x;} }; meta_for<1,10>(fact())
Partager