假设我有一个由另一个整数 POD 类型参数化的类型:
template< size_t N >
struct MyFoo { /* ... */ };
有了它,就有可能拥有它们的元组:
typedef std::tuple< MyFoo< 1 >, MyFoo< 2 >, MyFoo< 3 > > Foo3;
但是现在,我想要一个类型“ Foo< N >
”,其中N
一个constexpr
. 实现类似于 a 的一种方法Foo< N >
是:
template< size_t N >
struct Foos;
template<> struct Foos< 1 >{ typedef std::tuple< MyFoo< 1 > > type; };
template<> struct Foos< 2 >{ typedef std::tuple< MyFoo< 1 >, MyFoo< 2 > > type; };
/* continue with this.... */
Ee 为每个 NI 需要手动专门化它。有没有更通用的方法来做到这一点?
谢谢 :)