c++ 14中Struct的默认值初始化



在c++ 14的头文件中对这个结构体进行默认初始化的最好方法是什么?

struct ValueStruct
{
int m_Number;
double m_arrValues[10];
};

1:大括号初始化

struct ValueStruct
{
int m_Number= -1;
double m_arrValues[10] = { -1, -1 ...... -1 };
};

2:我创建一个构造函数,然后初始化其中的所有内容。对于数组使用for循环。

这取决于你的需要。如果只需要初始化数组,则可以使用大括号初始化,这也更易于阅读。但是,如果在初始化结构期间需要执行更多操作,则构造函数提供了更大的灵活性。如果数组变得更大,使用构造函数也会更有用,更容易,这将使大括号初始化变得更加困难和重复。

如果您没有任何特定的要求,那么您可以简单地使用{}初始化结构,但您不能初始化您所做的方式。首先,你必须为这个结构体创建一个对象,然后你必须初始化它。

如:ValueStruct d_VS = {};

最新更新