在初始化变量时始终使用后缀是一个好习惯吗?这些案件怎么样?
float foo = 0.0F;
unsigned int bar = 0U;
或者,如果可能存在转换问题,您是否只会使用文字后缀?
答案 0 :(得分:2)
这是cpp FAQ
当您需要强制编译器将数字文字视为指定类型时,您应该使用这些后缀
还有一个很好的例子:
如果x
的类型为float,则表达式x + 5.7
的类型为double
:它首先将x
的值提升为double
,然后使用双精度指令执行算术。如果这就是你想要的,那很好;但如果您真的希望它使用单精度指令进行算术运算,则可以将该代码更改为x + 5.7f
。
还有可读性原因
如果您最终使用无符号变量,通常强制您的数字文字也是无符号的。这使得更容易看到编译器将生成“无符号算术”指令。