1
说我有一组模板template<int N> A{}
和template<int N> B{}
等与模板C
,D
....他们都有一个静态成员函数init()
。生成模板实例的列表,并呼吁他们的静态函数
我想写一个元函数生成A<0>
,B<1>
,C<2>
等等。让我们命名这个可变元函数SeqInst
。而且这个元功能还有一个静态成员函数init()
,后者又调用所有的A<0>::init()
,B<1>::init()
等。
我试着写SeqInst
为variadoc模板,然后实例SeqInst<A, B, C>
并以此来形成一个参数列表另一个模板Initializer
: 所以SeqInst
里面我喜欢用:
template<typename... T>
struct Initializer {
static void init() {(T::init(), ...);}
};
毕竟这应该是这样的:
using si = SeqInst<A,B,C>;
si::init();
这应该在结束通话A<0>::init()
和B<1>::init()
等。
是否可以实例化一个嵌套的可变参数的类模板与参数'一个<0>','乙<1> '等等? – wimalopaan
嗯,我的意思是没有函数init()... – wimalopaan