我很新的C++ 2011的可變參數模板,我想知道,如果一招存在做以下的事情:解開一個可變參數模板類的模板參數,常量和常量數組
template<typename T, unsigned int... TDIM> class VariadicTest
{
public:
static const unsigned int order_const = sizeof...(TDIM);
static const unsigned int size_const = // TDIM1*TDIM2*TDIM3...
static const unsigned int dim_const[order_const] = // {TDIM1, TDIM2, TDIM3...}
// if not possible :
// dim_const[64] = {TDIM1, TDIM2, TDIM3, 0, ..., 0}
};
有沒有什麼「竅門」做這樣的事情?
非常感謝。
的'size_const'應該是簡單的(創建一個返回的乘法'constexpr'可變參數模板功能的頭時間尾巴 - 或頭部的價值,如果沒有尾巴)。數組初始化是一個棘手的部分... – 2012-08-04 00:40:25
事實上,問題中提出的語法將是無效的,因爲您無法在成員聲明中爲靜態數組提供值......被說,問題會如果將初始化移動到定義,則同樣困難:) – 2012-08-04 00:48:31