2015-09-01 9 views
5

değişkenli bir şablonda sarılırken, Types... bir değişken şablon verildiğinde, paketteki her tür için A<> depolamak istiyorum. Bu, A<>'un bir tuple yapılabilir, ancak programlı olarak söz konusu tuple türünü türetmem gerekiyordu.Şablonlu bir sınıf

C++ 11/14/17'de böyle bir şey mümkün mü?

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; 
}; 

cevap

12

Basitçe ile:

template <class... Types> 
class B 
{ 
    std::tuple<A<Types>...> data; 
}; 
+1

Vay ... bu kadar basit? Genius! Ve teşekkürler :) –