我有以下例子:
struct S{
int x, y;
}
S s1{1}; // direct-initialization or direct-list-initialization ?
S s2{1, 2}; // direct-initialization or direct-list-initialization ?
S s3(1); // direct-initialization or direct-list-initialization ?
S s4(1, 2); // direct-initialization or direct-list-initialization ?
int i1{10}; // direct-initialization or direct-list-initialization ?
int i2(10); // direct-initialization or direct-list-initialization ?我的问题
我已经检查过直接初始化与直接列表初始化(C++)的问题了,但还没有得到严格的回答。
发布于 2022-04-25 03:33:25
来自直接初始化文档
T object ( arg );T object ( arg1, arg2, ... );(1)T object { arg };(2) (自C++11起)T ( other )T ( arg1, arg2, ... )(3)在下列情况下执行直接初始化:
来自列表初始化
Direct-list-initialization
T object { arg1, arg2, ... };(1)T { arg1, arg2, ... }(2)
现在我们可以用上面这些来回答你的问题了。
S s1{1}; // direct-list-initialization from direct-list init point 1 above
S s2{1, 2}; // direct-list-initialization from direct-list init point 1 above
S s3(1); // direct-initialization from direct init point 1 above
S s4(1, 2); // direct-initialization from direct init point 1 above
int i1{10}; // direct-initialization from direct init point 2 above
int i2(10); // direct-initialization from direct init point 1 abovehttps://stackoverflow.com/questions/71994048
复制相似问题