其他分享
首页 > 其他分享> > c – 为什么他们会特殊地使用某些初始化列表而不是对它们进行相同处理?

c – 为什么他们会特殊地使用某些初始化列表而不是对它们进行相同处理?

作者:互联网

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

auto x {7};

除了我知道x不是一个整数,而是一个初始化列表本身.为什么?是否有一个特定的原因,委员会将决定auto应该在单个自动值的情况下获取初始化列表,或者他们是否希望我们只是意识到这些不应该一起使用.我似乎无法想到一个可能的原因,我希望初始化列表存储到auto而不是值

解决方法:

一个非常实际的答案是,“为什么要选择int?”或者是double,还是任何带有int单参数构造函数的UDT?通过拒绝推导出具体类型,编译器会保留更通用初始化列表的任何可能应用.

标签:list-initialization,c,c11,auto
来源: https://codeday.me/bug/20190729/1567550.html