我很清楚0
和0.0
(int和double)之间的区别。
0.
但是和0.0
(请注意 . )之间有什么区别吗?
非常感谢提前,
阿克塞尔
没有区别。两种文字都是双重的。从 C++ 语法:
fractional-constant:
digit-sequenceopt . digit-sequence
digit-sequence .
请参阅:超链接 C++ BNF 语法
No, there is not.
No. You can also write .0 as far as I know.
只是将.
数字作为数字的一部分将其标识为浮点类型。
这个:
cout << (5 / 2) << endl;
cout << (5. / 2) << endl;
cout << (5.0 / 2) << endl;
打印这个:
2
2.5
2.5
您可以看到第一行使用整数除法(因为两个值都是整数),而5.
and5.0
都被识别为浮点类型,因此它们触发“正常除法”。
0
是 int 类型但可以转换为 double0.0
类型是 double 但可以转换为 int。
两种强制转换都是隐式的。