为什么他们会对某些初始值设定项列表进行特殊处理,而不是将它们全部视为相同?

2024-04-28

假设我有一个变量auto x我想初始化为7使用大括号初始化,简单:

auto x {7};

除了我了解到 x 是NOT一个整数,但它本身是一个初始化列表。为什么?委员会决定是否有具体原因auto应该在单个自动值的情况下获取初始化列表,或者他们是否希望我们意识到这些不应该一起使用。我似乎想不出一个可能的原因,我希望将初始值设定项列表存储到 auto 而不是值中


一个非常实际的答案是:“为什么要int被选中?”或者double,或任何具有 int 单参数构造函数的 UDT?通过拒绝推导具体类型,编译器保留了更通用的初始值设定项列表的任何可能的应用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么他们会对某些初始值设定项列表进行特殊处理,而不是将它们全部视为相同? 的相关文章

随机推荐