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);
}