是否有任何C++;关于数字文字后缀的样式指南? 在我读过的所有C++风格指南中,我从来没有见过任何关于数字字词后缀的信息(即 3.14f , 0L等)。p>
问题是否有任何C++;关于数字文字后缀的样式指南? 在我读过的所有C++风格指南中,我从来没有见过任何关于数字字词后缀的信息(即 3.14f , 0L等)。p>,c++,coding-style,literals,C++,Coding Style,Literals,问题 是否有任何风格指南谈论这些用法,或者有一个通用的惯例 在图形编程中,我偶尔会遇到f后缀。在编程领域的使用类型上有什么趋势吗 Web搜索“c++数字后缀”返回: 这些就是你要找的吗?我知道的唯一既定惯例(无论如何,有些既定)是始终使用L而不是L,以避免将其误认为1。除此之外,在你需要的时候使用你所需要的东西几乎是个问题 还注意到C++ 11允许用户定义的文字使用用户定义的后缀。 < P>没有我找到的一般样式指南。我使用大写字母,而且我对使用F表示浮点文字和L表示长双精度很挑剔。我还为整
f
后缀。在编程领域的使用类型上有什么趋势吗这些就是你要找的吗?我知道的唯一既定惯例(无论如何,有些既定)是始终使用
L
而不是L
,以避免将其误认为1
。除此之外,在你需要的时候使用你所需要的东西几乎是个问题
还注意到C++ 11允许用户定义的文字使用用户定义的后缀。
< P>没有我找到的一般样式指南。我使用大写字母,而且我对使用F表示浮点文字和L表示长双精度很挑剔。我还为整型文字使用了适当的后缀 我想你知道这些后缀的意思:3.14F
是一个float
literal,12.345是一个双字面值,6.6666L是一个长双字面值
对于整数:U
是unsigned
,L
是long
,LL
是long
。在U
和L
s之间的顺序并不重要,但我总是把UL
放进去,因为我声明了这样的变量无符号长
如果将一种类型的变量指定为另一种类型的文字,或为另一种类型的函数参数提供一种类型的数值文字,则必须进行转换。使用适当的后缀可以避免这种情况,并且与static_cast用于调用强制类型转换一样有用。一致使用数字文字后缀是一种很好的风格,可以避免数字意外
人们对小写还是大写最好有不同的看法。选择一种适合你的风格,并保持一致。
建议使用大写字母:
DCL16-C。使用“L”,而不是“L”,表示长值
小写字母l(ell)很容易与数字1(1)混淆。当指示整型文字常量是长值时,这可能会特别令人困惑。这项建议类似于
同样,当指示整型文字常量是长值时,应该使用大写LL而不是小写LL
< C++ 03语言的MISRA C++ 2008在规则M2-13-3中(至少,如所引述的), 应使用“U”后缀 适用于所有八进制或十六进制 无符号类型的整数文本 链接文档还与JSF-AV2005和HIC++v4.0进行了比较,所有这四个标准都要求后缀为大写
但是我找不到规则(但我手头没有抄写的MISRA C++),它指出在需要时,应该使用后缀。然而,IrrC有一个在MISRA C++(或者可能是我以前的公司编码准则…)< /P>我不太确定你的问题是什么。你是在问数字文字后缀的含义,还是在问人们是否已经就其使用建立了一些约定?@GregHewgill:我是在问人们是否已经就其使用建立了约定。你需要使用时就使用它们。您需要一个
浮点值常量吗?使用f
后缀。是否需要一个无符号常量?使用u
常数。等等。我在寻找一个权威的来源,比如谷歌C++风格指南等等。你可以用谷歌搜索你想要的一切,但你找不到任何东西,因为这样的东西似乎不存在。@bobobobo我想是的。。。要么那样,要么那样。我倾向于使用大写字母,因为“l”看起来像“1”。使用后缀在C++11 auto中尤其重要。回答得好,我一直在寻找选择大写版本的理由。好吧,我已经使用小写版本很多年了,从来没有对此感到困惑,也没有听说有人对此感到困惑。。可能取决于使用的字体。。我反对使用小写字母的理由是:它不需要打字(按住shift键)。我知道阅读代码更重要,但如果在我(有限的)经验中,阅读代码似乎并不重要,那么这是一个有效的论点。我也是一个长期的RSI患者,所以像轮班这样的事情对我来说很重要。