【发布时间】:2012-10-01 22:46:59
【问题描述】:
假设:
template<class T,int N>
struct A {
A(): /* here */ {}
T F[N];
};
我需要用{0,1,2,...,N-1} 构造F[] 的元素。如果可能的话,我想避免递归定义模板结构,将最后一级定义为template<class T> struct A<T,0> 并做一些复杂的模板技巧。 C++11 初始化列表有帮助吗?
这类似于Template array initialization with a list of values,但它不构造值递增的元素。它稍后在运行时循环中设置它。
【问题讨论】:
-
这里为什么不能使用array
? -
可以,但不能解决这个问题