В то время как рефакторинг кода и избавление от всех тех #defines, которым мы теперь научены ненавидеть, я наткнулся на эту красоту, используемую для вычисления количества элементов в структуре:
#define STRUCTSIZE(s) (sizeof(s) / sizeof(*s))
Очень полезно, как есть, но может ли он быть преобразован в встроенную функцию или шаблон?
ОК, ARRAYSIZE будет лучшим именем, но это устаревший код (не знаю, откуда он пришел, ему не менее 15 лет), поэтому я вставил его как есть.