来自2.13.2/3
双引号
"
和问号?
可以表示为本身,也可以用转义序列\"
和\?
来表示[...]。
简单地说,以下内容:
char x = '\?'; //or '\"'
char y = '?'; //or '"'
这两个字符表示相同的字符。为什么会将它们(尤其是 ?
)与其他字符区别对待?
来自2.13.2/3
双引号
"
和问号?
可以表示为本身,也可以用转义序列\"
和\?
来表示[...]。
简单地说,以下内容:
char x = '\?'; //or '\"'
char y = '?'; //or '"'
这两个字符表示相同的字符。为什么会将它们(尤其是 ?
)与其他字符区别对待?
\"
使得单引号字符字面值和双引号字符串字面值保持一致(它们被定义为使用相同的转义序列,因此\'
和\"
在两者中都可以使用)。 我有些猜测,但我认为委员会只是觉得在每个地方定义不同的转义序列太麻烦了,没有好处,甚至可能稍微劣一些。
\?
用于避免三字符组: ??=
是一个三字符组,而?\?=
则不是。