正在将参数传递给结构

Passing argument to struct

本文关键字:结构 参数传递      更新时间:2023-10-16

我想定义一个结构,如下所示:

struct myStruct {
   std::vector<double> myVector(vector_size, init_value);
   ...
}

是否可以将参数vector_size(int)和init_value(double)传递给结构?

定义一个双参数构造函数并使用构造函数初始值设定项列表:

struct myStruct{
   myStruct(size_t a_size, double a_value): myVector(a_size, a_value) {}
   std::vector<double> myVector;
};

或者,使用聚合初始化(请参阅http://ideone.com/Ky50Ex):

struct myStruct
{
    std::vector<double> myVector;
};
myStruct m = { std::vector<double>(14, 0.5) };

您可以为结构定义一个构造函数:

struct myStruct {
   std::vector<double> myVector;
   myStruct(size_t vector_size, double init_value) : myVector(vector_size, init_value) {}
};