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

代码行以反斜杠结尾,且与下一行连接后生成通用字符名称

C++-Undefined-Behavior-1
目录 › next

如果代码行以反斜杠结尾,预处理器会删除行尾的反斜杠和换行符,使其与下一行连接,如果连接后产生了以 \u 或 \U 开头的通用字符名称(universal character name)会导致未定义的行为。

示例:

auto s = "\u54\
0D";               // Undefined behavior

auto \u54\
0D = 'a';          // Undefined behavior

这种代码可能不会通过编译,也可能不会造成实际问题,但一定不具备可移植性。

依据

ISO/IEC 14882:2003 2.1(2)-undefined ISO/IEC 14882:2011 2.2(2)-undefined

规则

ID_badBackslash
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.