什么是大括号或等于初始值设定项?
what is a brace-or-equals initializer?
我知道这个问题很简单,但是太简单了,我找不到任何资源来定义什么是 "brace-or-equals"。
这些都是大括号或等号初始化程序吗?
++++++++++++++++++++++++++++++++++++++
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}
++++++++++++++++++++++++++++++++++++++
字面意思就是它在罐头上所说的:形式为 = something
("equals") 或 { something }
("brace") 的初始值设定项。换句话说,它排除了 ( something )
形式的初始值设定项。
名称来自构造的语法非终结符。
我知道这个问题很简单,但是太简单了,我找不到任何资源来定义什么是 "brace-or-equals"。
这些都是大括号或等号初始化程序吗?
++++++++++++++++++++++++++++++++++++++
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}
++++++++++++++++++++++++++++++++++++++
字面意思就是它在罐头上所说的:形式为 = something
("equals") 或 { something }
("brace") 的初始值设定项。换句话说,它排除了 ( something )
形式的初始值设定项。
名称来自构造的语法非终结符。