☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

不应使用非标准常量后缀

11.10 ID_literal_nonStandardSuffix
目录 › next › previous

整数常量后缀应为 L、LL、UL、ULL,浮点数常量的后缀应为 L、f 或 F,非标准后缀不具备可移植性。

在 C++ 代码中,用户自定义后缀不受本规则限制。

示例:

unsigned int a = 100ui32;  // Non-compliant, not common between compilers
long long b = 100i64;      // Non-compliant

例中 ui32、i64 为 MSVC 编译器特有的后缀,应改为:

unsigned int a = 100U;  // Compliant
long long b = 100LL;    // Compliant

相关

ID_literal_confusingSuffix

依据

ISO/IEC 9899:1999 6.4.4.1(5) ISO/IEC 9899:1999 6.4.4.2(4) ISO/IEC 9899:2011 6.4.4.1(5) ISO/IEC 9899:2011 6.4.4.2(4) ISO/IEC 14882:2003 2.14.2(2) ISO/IEC 14882:2003 2.14.4(1) ISO/IEC 14882:2011 2.14.2(2) ISO/IEC 14882:2011 2.14.4(1) ISO/IEC 14882:2017 5.13.2(2) ISO/IEC 14882:2017 5.13.4(1)
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.