64 votes

Comment fonctionne ce code de modèle pour obtenir la taille d'un tableau ?

Je me demande pourquoi ce genre de code peut obtenir la taille du tableau de test ? Je ne connais pas la grammaire dans le modèle. Peut-être que quelqu'un pourrait expliquer la signification du code sous template<typename,size_t> . En outre, un lien de référence est également préféré.

 #define dimof(array) (sizeof(DimofSizeHelper(array)))
template <typename T, size_t N>
char(&DimofSizeHelper(T(&array)[N]))[N];

void InitDynCalls()
{
    char test[20];
    size_t n = dimof(test);
    printf("%d", n);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X