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

连接预处理符号时产生了通用字符名称

C++-Undefined-Behavior-3
目录 › next › previous

预处理运算符 ## 可以将两个符号连接成一个符号,如果产生了以 \u 或 \U 开头的通用字符名称会导致未定义的行为。

示例:

#define M(a, b) a ## b

int M(\u54, 0d) = 123;    // Undefined behavior

依据

ISO/IEC 14882:2003 2.1(4)-undefined ISO/IEC 14882:2011 2.2(4)-undefined
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.