"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 类型的后缀,以及十进制浮点类型的其他几个后缀。

See it here (PDF).

gcc 文档提到了所有这些其他后缀,但没有提到 d。这是一个遗漏。