什么是大括号或等于初始化器?

时间:2018-07-03 08:56:59

标签: c++ initializer

我知道这个问题很简单,但是非常简单,我发现没有资源定义“什么是括号或等号”。

这些都是大括号或等于初始化器吗?

++++++++++++++++++++++++++++++++++++++

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 个答案:

答案 0 :(得分:5)

字面上的意思是:= something(“等于”)或{ something }(“ brace”)形式的初始化程序。换句话说,它不包括初始化形式的( something )

名称来自该结构的语法非终结符。