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