标签: c++ c++11
关于Bjarne Stroustrup的C ++编程语言,第4版,第17.6.3.1条说明
内置成员的''默认初始化''离开了 成员未初始化。
引用默认编译器生成的构造函数。
但是,在17.6.2中我们有以下代码
struct S { string a; int b; }; S f(S arg) { S s0 {}; // default construction: {"",0} .. }
其中b默认初始化为0.
那么,我在这里错过了什么?
答案 0 :(得分:5)
您正在执行“aggregate initialization”,而不是默认初始化。在聚合初始化中,未指定的成员进行值初始化(例如,整数为零)。