數量說我有一個被另外的整體POD類型參數化的類型:元組任意的,但編譯時已知的類型
template< size_t N >
struct MyFoo { /* ... */ };
有了它,就可以讓他們的元組:
typedef std::tuple< MyFoo<1>, MyFoo<2>, MyFoo<3> > Foo3;
但現在,我想有一種 「Foo<N>
」,其中N
是constexpr
。一種實現類似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.... */
E.e.爲我想要的每個N手動專門化。有沒有更通用的方法來做到這一點?
謝謝:)
不錯!有沒有辦法做到這與變量模板?我有點卡在舊標準... – Sh4pe
@ Sh4pe,Boost在該領域有一些支持。 – chris
@ Sh4pe如果你不能使用C++ 11,那麼你必須按照你已經做的或者使用預處理宏的方式來完成它。 – Simple