В следующем примереСохранение количества аргументов шаблона в VARIADIC шаблона
template <size_t... Entries>
struct StaticArray
{
enum {N = sizeof...(Entries)};
size_t array[N] = {Entries...};
};
хранящее количество записей в enum
больше похоже на хак мне.
Действительно ли это учебник способ хранения количества записей или есть более чистый способ сделать это?
"Сохранение" является нечетным способом положи это. Хранилище не используется, а шаблоны C++ - это все объявления. Поэтому 'N' является скорее псевдонимом, чем чем-либо еще. Сказав это, я согласен с ответом @ Барри: 'enum' - не лучший механизм. – rici
«enum hack» было в буквальном смысле общим названием этого, так что вам должно что-то сказать :-) –