指定零浮点数的语法

Syntax for specifying the zero float literal

只是觉得这很有趣 :-) 如果您指定 0f,该值将被解释为八进制整数文字。因此,f(十进制 15)是不允许的。 00f.f 也不起作用。唯一可行的方法是 0.f.0f。还有其他方法吗?尽管如此,我还是不明白为什么 0.f 起作用了。 0 是否解释为八进制前缀? C++ 肯定很复杂,甚至是最基本的语法 ~>_<~

Still, I can't figure out why 0.f

它有效,因为 . 字符使它成为浮点文字。带有 f 的浮点文字是 float。小数部分是可选的,如果省略则为零。

由于 0.X 值介于 0..1 之间的语法,您不能使用八进制浮点文字。

Is 0 interpreted as the octal prefix?

如果是整数文字,0 前缀是八进制文字的语法。例如:01为八进制,0x1为十六进制,1为十进制。