[英]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.