是否有任何C++风格指南谈论数字文字后缀?

Jes*_*ood 8 c++ coding-style literals

在所有的C++风格指南我看过的,我从来没有看到有关的数值字面后缀(即任何信息3.14f, 0L等等).

问题

  1. 是否有任何风格指南可以讨论这些用法,还是有一般惯例?

  2. 我偶尔会遇到f图形编程的后缀.在编程域类型中是否存在使用趋势?

Jer*_*fin 8

我所知道的唯一已建立的惯例(有点已建立)总是使用L而不是l,以避免被误认为是1.除此之外,它几乎是在您需要时使用您需要的东西.

另请注意,C++ 11允许用户定义的文字具有用户定义的后缀.


ems*_*msr 5

我没有找到通用的风格指南。我使用大写字母,并且我对使用 F 表示浮点文字和 L 表示 long double 很挑剔。我还为整型文字使用了适当的后缀。

我假设您知道这些后缀的含义:3.14Ffloat文字,12.345 是双文字,6.6666L 是长双文字。

对于整数:Uis unsignedLis longLLis long longULs之间的顺序无关紧要,但我总是放,UL因为例如我声明了这样的变量unsigned long

如果您将一种类型的变量分配给另一种类型的文字,或者为另一种类型的函数参数提供一种类型的数字文字,则必须进行强制转换。使用正确的后缀可以避免这种情况,并且与 static_cast 可用于调用强制转换一样有用。数字文字后缀的一致使用是一种很好的风格,可以避免数字意外。

人们对小写还是大写最好有所不同。选择一种对您来说看起来不错的风格并保持一致。