gpt4 book ai didi

c - 字符串常量的宽度前缀

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:12 25 4
gpt4 key购买 nike

最新版本的 C 标准为字符串常量提供了宽度前缀,例如u8"a" 是单个预处理标记。

是否获得一个或两个预处理标记取决于前缀中的确切字母?例如。 u9"a" 是否仍然是两个预处理标记?

最佳答案

C11 在 6.4 中指定字符串文字是预处理标记之一:

preprocessing-token:
header-name
identifier
pp-number
character-constant
string-literal
punctuator
each non-white-space character that cannot be one of the above

因此 u8"a" 是单个标记,因为字符串文字部分 6.4.5 将其列为有效选项:

string-literal:
encoding-prefix(opt) " s-char-sequence(opt) "
encoding-prefix:
u8
u
U
L

序列 u9"a" 不是字符串文字,因为 u9 不是有效前缀之一。

u9 将(根据我的阅读)被视为标识符,而 "a" 将是字符串文字,因此这将是两个单独的预处理代币。

关于c - 字符串常量的宽度前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com