Я новичок в шаблонном программировании и у меня есть два вопроса ... Надеюсь, кто-нибудь может мне помочь.Я пытаюсь использовать шаблоны с переменными параметрами для создания нового ввода в другой шаблон с переменными параметрами.Другими словами, у меня есть класс
template <std::size_t N, std::size_t... M>
class Class1 {
}
Я хочу использовать целочисленные значения, представленные N, M, чтобы сгенерировать новый набор входных данных типа std :: bitset для другого шаблонного класса
template <typename T, typename... Ts>
class Class2 {
}
Так, например, если я использую Class1<10,20,25>
, я хочу внутри тела Class1
создать переменную Class2<std::bitset<10>, std::bitset<20>, std::bitset<25>>
.Есть ли простой способ сделать это с помощью C ++ 11?
Мой второй вопрос: как я могу абстрагироваться еще больше, чтобы распаковка не относилась к классу std::bitset
?Есть ли способ изменить определение шаблона Class1
, чтобы я мог развернуть какой-то произвольный шаблонный класс, который я разработал, вместо std::bitset
?