让我们说
struct
{
int a;
int b;
int c;
int d;
};
如果我想将所有成员初始化为零,我可以使用:
A a = {};
如果我只想设置一个我可以使用的成员:
A a = { .b = 5 };
如果A不是POD,那么我需要用以下内容初始化构造函数中的所有内容:
A::A()
: a (0)
, b (0)
, c (0)
, d (0)
{}
列表必须是详尽无遗的,否则数据内存将保持未初始化状态并包含意外值。
有没有办法零初始化非POD结构/类的所有数据成员而无需详尽地指定每个数据内存?
有时我忘记了一个导致其中一个"它在我的机器上工作的成员"错误。
修改: 我真正想要的是一种零初始化数据成员的方法,而不必详尽地指定每个成员。