如何使用自定义值初始化模板类中的数组?

时间:2016-06-09 23:11:38

标签: c++ arrays initialization

例如

template<size_t N>
class A
{
    array<int, N> m;
    static A const UNIT {1, 1, ...}; // repeated N times, 
                                     // but I can't because of currently unspecified N
}

如何使用自定义值1初始化模板大小的数组?

1 个答案:

答案 0 :(得分:2)

您可以使用填充功能。 这也适用于静态const成员。

template<size_t N>
class A {
    array<int, N> m;
    public:
    static A const unit;
    A() { m.fill(1); }
};

template<size_t N>
A<N> const A<N>::unit{};