当尝试为MyClass初始化对象时,我看到使用了以下两种方法:
MyClass a;
MyClass a{};
这两种情况似乎都可以正常工作,但我想知道是否有更好的做法,在某些情况下应该使用哪种方法?
答案 0 :(得分:3)
MyClass a;
和MyClass a{};
之间有细微的差别。如果Myclass
是fundamental type或aggregate,那么
MyClass a;
时,
a
的状态/成员将不被初始化
MyClass a{};
将value initialize a
的状态/成员。
如果Myclass
都不是上述两者,则它们将具有相同的行为。