用于指定零浮点字面值的语法

Lin*_*gxi -1 c++ floating-point syntax literals language-lawyer

只需找到这个有趣的:-)如果指定0f,该值将被解释为八进制整数文字.因此,不允许f(十进制15).00f并且.f也不起作用.似乎工作的唯一方法是0.f.0f.还有其他方法吗?不过,我无法弄清楚为什么0.f有效.被0解释为八进制前缀?C++肯定很复杂,甚至是非常基本的语法〜> _ <〜

eer*_*ika 5

不过,我无法弄清楚为什么0.f

它起作用,因为.角色使它成为浮点文字.浮点字面值f是a float.如果省略,小数部分是可选的,零.

由于0.X0..1之间的值的语法,您不能有八进制浮点文字.

0被解释为八进制前缀吗?

如果是整数文字,则0prefix是八进制文字的语法.例如:01是八进制,0x1是十六进制,1是十进制.

  • @Lingxi是的,八进制前缀仅适用于整数文字 - 没有`.`的文字. (2认同)