【发布时间】:2020-11-23 07:35:42
【问题描述】:
有人告诉我这样写更有效
SomeType val{another_val};
比
SomeType val = another_val;
因为在第二种情况下我们有缩小演员表。
你能解释一下这是什么吗?使用初始化列表进行初始化是否更有效?
【问题讨论】:
-
在narrowing conversions 部分,它说“列表初始化限制了允许的隐式转换”。所以,我会说它更安全。虽然,我猜如果你使用第二种方式,编译器会在这些情况下给你警告
-
这里的正确术语是缩小conversion。此代码中没有强制转换。强制转换是您在源代码中编写的内容,用于告诉编译器进行转换。
标签: c++ initialization initializer-list