给定一个可变参数模板Types...
,我想为包中的每个类型存储A<>
。这可以在A<>
的元组中完成,但我需要以编程方式派生出所述元组的类型。
在c ++ 11/14/17中这样的事情是否可能?
template <class T> class A { };
template <class... Types>
class B
{
// A tuple of A<>'s for each type in Types...
std::tuple<A<Type1>, A<Type2>, ...> data;
};
答案 0 :(得分:17)
只需:
template <class... Types>
class B
{
std::tuple<A<Types>...> data;
};