cpp文件中的C++变量可以定义为特殊符号β吗

2024-01-09

我们可以使用特殊字符在 C++/C 中定义变量吗 例如;

double ε,µ,β,ϰ;

如果是,如何实现这一目标?


根据CPP标准工作草案(N4713),

5.10 标识符 [lex.name]
...
标识符是任意长的字母和数字序列。标识符中的每个通用字符名应指定一个字符,该字符在 ISO 10646 中的编码属于表 2 中指定的范围之一。初始元素不应是指定其编码属于表 3 中指定的范围之一的字符的通用字符名称。

当我们查看表 3 时:

表 3 — 最初不允许的字符范围(组合字符)

0300-036F 1DC0-1DFF 20D0-20FF FE20-FE2F

您提到的符号是希腊字母,范围为U+0370 to U+03FF扩展的希腊语集范围从U+1F0x to U+1FFx as per 维基百科 https://en.wikipedia.org/wiki/List_of_Unicode_characters。这两个范围都可以作为标识符的初始元素。

请注意,并非所有编译器都提供对此的支持。

海湾合作委员会 8.2 与-std=c++17选项无法编译。
然而,Clang 7.0-std=c++17选项编译。

Live Demo for both GCC and Clang https://godbolt.org/z/zscAA9

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cpp文件中的C++变量可以定义为特殊符号β吗 的相关文章

随机推荐