Я читаю через Modern C++ Design, и мне пришла в голову мысль, что конструктор типов может быть заменен вариативными шаблонами. Оба, похоже, полагаются на рекурсию для обработки первого типа в списке, а остальная часть списка - отдельно. Есть ли что-нибудь, что можно сделать в списках типов?Являются ли перечни типов полностью заменены вариативными шаблонами?
6
A
ответ
8
Typelists позволяют вам несколько вещей. Например, вы не можете иметь VARIADIC аргумент пакет, как в результате metafunction - нет никакого способа, чтобы выразить что-то вроде этого:
template <typename... Args>
struct argpack_id {
typedef Args result;
};
Вы можете сделать это с списками типов.
С другой стороны, вы, вероятно, следует реализовать сам список типов, как
template <typename... Args>
struct TypeList {};