Шаблоны хороши для программирования функций и классов шаблонов, поэтому мы можем использовать, чтобы сократить наш код и позволить компилятору сделать для нас какую-то работу.Шаблоны Variadic и без значений
В моем случае я хочу использовать класс шаблона, например.
template <typename T, typename G> class unicorn {
T value01;
G value02; <- not used in ever instance of class unicorn
};
Есть ли способ, что компилятор делает экземпляр с имяТипом T = INT, например, и , если не используется или не указано, версия без TypeName G?
Так что результат выглядит следующим образом:
unicorn <double, int>;
class unicorn {
double value01;
int value02;
};
И без аргумента или указанного TypeName G
unicorn <double>
class unicorn {
T value01;
// "not included in this instance"
};
Отдельный шаблон для одного типа или, возможно, вариационный шаблон и std :: tuple? – KIIV
Кажется, вы пытаетесь переустановить 'std :: tuple' с оговоркой, что вам не нужно больше двух параметров шаблона. –