在以下示例中
template <size_t... Entries>
struct StaticArray
{
enum {N = sizeof...(Entries)};
size_t array[N] = {Entries...};
};
在enum
中存储条目数似乎更像是对我的攻击。
这真的是存储条目数量的文本书方式还是有更简洁的方法来做到这一点?
答案 0 :(得分:5)
我更喜欢static constexpr
成员:
template <size_t... Entries>
struct StaticArray
{
static constexpr size_t N = sizeof...(Entries);
size_t array[N] = {Entries...};
};
可能还有许多其他constexpr
成员函数(size()
,begin()
,end()
,data()
等。