初始化变量时的字面常数后缀
Literal constant suffixes when initializing variables
初始化变量时始终使用后缀是一个好习惯吗?这些情况呢?
float foo = 0.0F;
unsigned int bar = 0U;
或者您只有在可能存在转换问题时才使用字面后缀?
这是CPP FAQ
需要强制编译器以对待数字字面的时,就应该使用这些后缀
还有一个很好的例子:
如果x
是float类型,则表达式x + 5.7
为double
类型:它首先将x
的值促进到double
,然后使用Double-Eccision指令执行算术。如果那是你想要的,很好;但是,如果您真的希望它使用单精度说明进行算术,则可以将该代码更改为x + 5.7f
。
也有可读性原因
如果您最终使用未签名的变量,通常是一个好主意。这使得编译器将生成"未签名的算术"指令变得更容易。
相关文章:
- 增量运算符与后缀混淆
- 如何在OpenSSL库的名称中添加后缀'd'?
- C++17 十六进制浮点文字单精度后缀冲突?
- 使用带有链表的堆栈数据结构将中缀转换为后缀
- 为什么 g++ 使用 movabs 和一个奇怪的常数来简单还原?
- 高效的字符串截断算法,按顺序删除相等的前缀和后缀
- 为什么 C++ 程序员更喜欢前缀 ++,而 Java 程序员更喜欢后缀 ++?
- 在qt QFileDialog中设置后缀在linux中不起作用,如何解决?
- 用于自定义调试构建的 CMake qt 输入库后缀
- 为什么在C++负数static_cast如果<unsigned>数字是常数,则不同
- 组合"%"和可选后缀时,自动属性传播有时不起作用
- 表达式必须具有常数值,变量不能用作定义数组大小的常数
- 中缀后缀转换C ++,似乎无法得到正确的答案
- C++中的后缀不像我期望的那样表现
- 广义后缀树遍历以查找最长的公共子字符串
- C++ 后缀评估问题
- 变量和常数的C++划分不起作用
- 我应该将乘数声明为常数还是直接使用它而不声明?
- 后缀 "&" (地址) 运算符 在 C++ 中
- 初始化变量时的字面常数后缀