作为 John Carmack 的崇拜者,我正在阅读 Id Tech 的公开可用的编码约定文档(如果您有兴趣,请访问ftp://ftp.idsoftware.com/idstuff/doom3/source/CodeStyleConventions.doc ),并且遇到了一个我不完全理解的约定:
除非明确需要双精度,否则对浮点值使用精度规范。
float f = 0.5f
代替
float f = 0.5;
和
float f = 1.0f;
代替
float f = 1.f;
这些有什么不同?
我可以理解第一个示例中两者之间的区别(后者在引擎盖下进行双浮点转换),尽管我怀疑它只需要一个不愚蠢的编译器来捕获并生成相同的字节码,没有运行时差异。
但是在任何情况下,在浮点值声明中添加尾随 0 会改变事情吗?