C++ 11类型推断如何决定浮点数或双精度数?

Gea*_*phy 8 c++ type-inference c++11

考虑这个类型推断的例子:

auto var = 1.0 ;
Run Code Online (Sandbox Code Playgroud)

这是否在C++ 11类型推断下评估为float还是double?,是否可以控制此行为?

Kir*_*rov 14

它将被评估为a double,是的,您可以控制它.

在标准的ISO-14882:2011,2.14.4浮点文字,点1:

除非后缀明确指定,否则浮动文字的类型为double.后缀f和F指定float,后缀l和L指定long double.如果缩放值不在其类型的可表示值范围内,则程序格式不正确.

  • @GearoidMurphy - 请将您的编辑发布为另一个问题.他们是不同的东西.第一个用于浮点文字,第二个用于类型促销/标准转换. (3认同)