【发布时间】:2020-10-04 08:54:28
【问题描述】:
struct A
{
int a;
std::string str;
};
A a;// 1
A a{};// 2
A a = {};// 3
A a = A();// 4
似乎有所有的选择。如果 1 和 4 a 将未初始化,则在 2 和 3 a 将初始化为零,它们都是相同的,只是样式问题还是有一些区别? 4应该首先创建一个临时对象,然后将其分配给a,但只有在我完全关闭comliler的优化时才会发生,对吧?
【问题讨论】:
-
如果 4
a和a.a都被初始化了
标签: c++ initialization c++17 default-constructor