【发布时间】:2018-12-11 12:35:54
【问题描述】:
我知道这个问题很简单,但它是如此简单,我没有找到任何资源来定义我什么是“大括号或等号”。
这些都是大括号或等号初始化器吗?
++++++++++++++++++++++++++++++++++++++++++
int foo= 42;
int foo{42};
int foo= {42};
int foo[]{41,42,43};
int foo[]={41,42,43};
struct Foo{
int data= 42;
};
考虑到上述结构,data 是否已初始化或不,在这两种情况下:
Foo foo{42}
Foo foo= {42}
Foo foo{.data=42}
Foo foo= {.data=42}
++++++++++++++++++++++++++++++++++++++++++
【问题讨论】:
-
(下次发帖只问1个问题。另一个是GCC的语言扩展,不是标准的C++)
-
user202729,你是说最后一个例子吗? en.cppreference.com/w/cpp/language/aggregate_initialization 这看起来像标准 c++ 而且你给出的 stackoverflow 链接没有使用“大括号或等于”这个词
-
"(C++20 起)"
-
嗯,确实还不是官方的。我只把那些打算详尽无遗的人放了
标签: c++ initializer