“通用字符名称转换”在C ++中意味着什么?

时间:2012-06-17 19:09:20

标签: c++ compiler-construction compilation

C ++ 98显然将其作为编译阶段的标准之一。这是什么意思,为什么最初执行?

1 个答案:

答案 0 :(得分:8)

通用字符名称类似于\uFFFD\U0010FFFD。它是一种在源代码中编写字符的方法,其中源代码编码不包含该字符。

C ++指定不在基本源字符集中的字符在翻译的第一阶段转换为通用字符名称。这样做的原因是通用字符名称和不在基本源字符集中但在源字符集中的字符得到相同的处理。

as-if 规则意味着实际上不需要执行此通用字符名称转换,只要它将写为通用字符名称的扩展字符视为与字面上显示的扩展字符完全相同在源头。