初始化类/结构的对象

时间:2019-01-14 19:15:42

标签: c++ struct initialization

当尝试为MyClass初始化对象时,我看到使用了以下两种方法:

MyClass a;
MyClass a{};

这两种情况似乎都可以正常工作,但我想知道是否有更好的做法,在某些情况下应该使用哪种方法?

1 个答案:

答案 0 :(得分:3)

MyClass a;MyClass a{};之间有细微的差别。如果Myclassfundamental typeaggregate,那么

MyClass a;

时,a的状态/成员将不被初始化
MyClass a{};

value initialize a的状态/成员。

如果Myclass都不是上述两者,则它们将具有相同的行为。