不应使用非标准常量后缀
11.10 ID_literal_nonStandardSuffix
整数常量后缀应为 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
相关
依据
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)