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

转义字符的反斜杠不可误写成斜杠

11.1 ID_literal_suspiciousChar
目录 › next › previous

将转义字符的反斜杠误写成斜杠是常见笔误,但仍可通过编译,造成不易察觉的问题。

本规则是 ID_literal_multicharacter 的特化。

示例:

char a = '/t';   // Non-compliant
char b = '\t';   // Compliant

例中 '/t' 是错误的,但可以作为“多字符常量”通过编译,值由实现定义。

又如:

const char* p = strchr(str, '/t');   // Non-compliant

在某些环境中执行结果和下列代码一样:

const char* p = strchr(str, '/');

字符 t 将被忽略,造成逻辑错误,'/t' 应改为 '\t'。

相关

ID_literal_multicharacter

依据

ISO/IEC 9899:1999 6.4.4.4(10)-implementation ISO/IEC 9899:2011 6.4.4.4(10)-implementation ISO/IEC 14882:2011 2.13.2(1)-implementation ISO/IEC 14882:2011 2.14.3(1)-implementation ISO/IEC 14882:2017 5.13.3(2)-implementation
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.