我遇到了一些基本上是以下代码:
double x = 0.0d;
d
向我暗示这是双打的后缀,但是documentation for floating point literals没有后缀,并且我在GNU g ++文档中找不到任何提及。编译器也不会使用-Wall
发出任何警告。
我做了一个small sample on GodBolt,用-Wpedantic
回答了我的问题,但是我仍然希望看到此问题的文档。
*请注意,存在similar question for Java。
答案 0 :(得分:4)
这在ISO / IEC TR 24732 a.k.a. WG14 N1312技术报告“编程语言C的扩展以支持十进制浮点算术”中进行了指定。
它将Notification Subscription
定义为普通d
类型的后缀,并为十进制浮点类型定义了其他几个后缀。
gcc文档提到了所有其他后缀,但没有提到double
。这是一个遗漏。