繁体   English   中英

在C ++中的类构造函数中进行列表初始化

[英]List initialisation in a class constructor in C++

我是C ++的新手,如何使向量的构造函数让我感到非常困惑。 我有这样的课:

class myClass{
public:
    myClass();
    ......
private:
    std::vector<double> myVariable;
    ......
}

我想写一个构造函数

myClass{1.2, 2.0, 3.1, 4.0};

我该怎么做呢?

您需要一个接受std::initializer_list的构造std::initializer_list

explicit myClass(std::initializer_list<double> init) : myVariable(init) {}

您可以首先创建一个向量,向其中插入元素,然后将其传递给myClass构造函数,该构造函数将其分配给类成员向量:

class myClass
{
public:
    myClass(const std::vector<double> &src)
        : myVariable(src)
    {
    }

    private:
        std::vector<double> myVariable;
};

int main()
{
    std::vector<double> myvect{1.2, 2.0, 3.1, 4.0};
    myClass obj(myvect);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM