使用`StructType structInstance = {};`初始化结构的行为是什么?

时间:2017-11-06 22:41:29

标签: c++ struct

使用tr.hightlight {} 初始化结构的行为是什么?它只是使用默认构造函数和/或将所有成员数据初始化为null吗?有关Vulkan教程的示例,请参阅以下内容:

StructType structInstance = {};

1 个答案:

答案 0 :(得分:2)

基于this documentationVkApplicationInfo聚合。此外,它只包含标量(原始)类型的成员。

使用{ }初始化聚合意味着每个成员都被初始化为{ }。不调用构造函数。

使用{ }初始化标量类型相当于使用= 0进行初始化。因此整数类型的枚举和成员初始化为零,指针初始化为空指针。

注意:对于非聚合结构,对象将为value-initialized