Noi*_*Sek 3 c++ floating-point box2d
我问,因为我使用的是Box2D库,它主要调用float参数.虽然我看到很多使用0.00f格式的示例代码,但 我不太确定它与普通旧0.00之间是否存在实际差异.我会被通过不附加额外以后伤害自己˚F?这是速度的事吗?当其他人不愿意时,是否存在需要f加数的某种含义?
TL;博士?我为什么要使用0.00f而不是0.00?
所述f
后缀使其成为一个单精度(浮点)文字,而不是一个双精度文字.这通常意味着32位而不是64位浮点数.
浮点常量默认为double类型.通过使用后缀f或l(或F或L - 后缀不区分大小写),可以将常量分别指定为float或long double.
http://msdn.microsoft.com/en-us/library/tfh6f0w2(v=VS.100).aspx
它们是有区别的.2.00
有类型double
和2.00f
类型float
.精确的精确度和格式含义取决于您的平台.使用一个在另一个上是否会对代码产生实际影响取决于使用它的上下文.
作为明确类型变量(基本数字类型)的初始化器,没有区别,但是当在函数调用中使用时,它可能会影响使用哪个重载或模板特化.
显然,当使用auto
类型说明符或作为decltype-specifier中的表达式在声明中用作初始值设定项时,声明的对象的类型将受到影响.
decltype(2.00) x = 2.00f; // confusing
decltype(2.00f) y = 2.00; // also confusing
auto d = 2.00;
auto f = 2.00f;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1473 次 |
最近记录: |