La balise templates est utilisée dans plusieurs contextes: programmation générique (en particulier C ++) et génération de données / documents à l'aide de moteurs de template. Lorsque vous utilisez cette balise sur des questions lourdes d'implémentation - balisez le langage de code dans lequel l'implémentation est écrite.
Supposons que j'écris une classe de modèle Vector pour représenter des points et des vecteurs dans un espace à N dimensions. Quelque chose comme ce qui s ...
template <int N>
struct Factorial {
static const int value = N * Factorial<N - 1>::value;
};
// Base case via template specialization:
template <>
struct Factorial<0> ...