Rob*_*Rob 15
文字0被认为是int文字; 文字0.0是double字面意思.分配给a时double,任何一个都可以工作(因为int可以在扩展转换中进行转换); 但是,转换0.0为a int是一个缩小的转换,必须明确地完成; 即(int)0.0.
Nos*_*dna 10
我试着保持我的常量类型一致.0表示整数.浮点数为0.0f或0.f,双精度为0.0.
对我而言,执行此操作的最重要原因是编译器和程序员看到同样的事情.
如果我这样做......
float t=0.5f;
float r;
r= 1 * t;
Run Code Online (Sandbox Code Playgroud)
......应该分配0或.5?如果我这样做,毫不犹豫......
float t=0.5f;
float r;
r= 1.0f * t;
Run Code Online (Sandbox Code Playgroud)
一个似乎是整数字面值,另一个是浮点字面值.对于编译器来说,使用整数文字初始化浮点数还是双精度数并不重要.无论如何,文字将被编译成一些内部表示.
我倾向于建议0.0,以使你的意图(对其他程序员)明确清楚.