从 的文档中std::array
,我们发现它可以如下初始化(使用聚合初始化):
struct S {
S(): arr{0,1} { }
std::array<int,2> arr;
};
无论如何,在这种情况下会出现一个问题:
template<int N>
struct S {
S(): arr{/*??*/} { }
std::array<int,N> arr;
};
如何在构造时初始化数组s
(例如,值 from 0
toN-1
或使用constexpr
ed 函数向其传递索引)?