如何在模板类中初始化 std::array?

1 c++ embedded

我想BitSet根据模板aLen值使用默认构造函数用零值初始化类内的数组。

例如:
MyClass<8> myClass;<= 这个对象应该有一个 8 字节的数组,全部初始化为零。
MyClass<16> myClass;<= 该对象应该有一个 16 字节的数组,全部初始化为零。

template <size_t aLen>
class MyClass
{
    public:
        MyClass()
        {

        }
    private:
        std::array<gsl::byte, aLen> mArray;
};
Run Code Online (Sandbox Code Playgroud)

我希望数组被初始化为零。

use*_*522 7

std::array可以像内置数组一样初始化为零。例如,通过默认成员初始值设定项中的聚合/值初始化:

std::array<std::byte, aLen> mArray{};
Run Code Online (Sandbox Code Playgroud)