如何为 valarray 初始化 std 共享指针

How to initialise std shared pointer for valarray

我正在尝试初始化 std::valarray<double> 的共享指针,我的代码是

class foo {

    public:

        foo();

    private:

        std::shared_ptr<std::valarray<double>> meanValues;
};

在构造函数中,我想填写meanValues

foo::foo() {

    this->meanValues = std::make_shared<std::valarray<double>>(2);
}

如何填写 meanValues 以获得两个值 {1.2, 4.5}

您可以明确指定 std::initializer_list:

foo::foo()
{
    this->meanValues = std::make_shared<std::valarray<double>>(std::initializer_list<double>{1.2, 4.5});
}