"double x = 0.0d;" 中的 "d" 是 g++ 扩展吗?
Is the "d" in "double x = 0.0d;" a g++ extension?
我遇到过一些基本上是这样的代码:
double x = 0.0d;
d
向我暗示这是双打的后缀,但 documentation for floating point literals 没有,我在 GNU g++ 文档中找不到任何提及。编译器不会使用 -Wall
.
抛出任何警告
我已经制作了一个 small sample on GodBolt,它用 -Wpedantic
回答了我的问题,但我仍然想查看有关此问题的文档。
* 请注意 存在。
这在 ISO/IEC TR 24732 a.k.a 中指定。 WG14 N1312 技术报告 "Extension for the programming language C to support decimal floating-point arithmetic"。
它将 d
定义为普通 double
类型的后缀,以及十进制浮点类型的其他几个后缀。
gcc 文档提到了所有这些其他后缀,但没有提到 d
。这是一个遗漏。
我遇到过一些基本上是这样的代码:
double x = 0.0d;
d
向我暗示这是双打的后缀,但 documentation for floating point literals 没有,我在 GNU g++ 文档中找不到任何提及。编译器不会使用 -Wall
.
我已经制作了一个 small sample on GodBolt,它用 -Wpedantic
回答了我的问题,但我仍然想查看有关此问题的文档。
* 请注意
这在 ISO/IEC TR 24732 a.k.a 中指定。 WG14 N1312 技术报告 "Extension for the programming language C to support decimal floating-point arithmetic"。
它将 d
定义为普通 double
类型的后缀,以及十进制浮点类型的其他几个后缀。
gcc 文档提到了所有这些其他后缀,但没有提到 d
。这是一个遗漏。