gpt4 book ai didi

c++ - 在 Visual Studio 或 GCC 中的 c++ 中使用表情符号作为标识符名称

转载 作者:IT老高 更新时间:2023-10-28 22:41:28 26 4
gpt4 key购买 nike

传统上,我们可以在 C++ 中用作标识符一部分的可接受字符是第一个字符之后的 _、a-z、A-Z0-9

有没有办法将 Visual Studio 或 GCC 配置为接受表情符号作为标识符名称(或任何其他任意 unicode 字符)的一部分?

int a = 2, 😊 = 3;
😊++; 😊 *= 2;
int ∑(int a, int b) {return a + b;}
cout << ∑(a * 😊, 3) << endl;

const double π = 3.14159;
double α = sin(π / 2.0);

最佳答案

我们可以从 Unicode/special characters in variable names in clang not allowed? 看到C++ 标准允许某些扩展字符集。 emoji codes似乎在允许的范围内。

据我所知,使用 live example Visual Studio 2013 支持标识符中的扩展字符,C++ Identifiers documentation 支持此功能。 :

C++ specification allows naming with Unicode-characters

And also, Visual C++ itself allows too. Not ASCII limited.

并提供链接表明自 2005 年以来允许这样做。尽管正如 bames53 指出的那样,可能存在 Windows 对表情符号的限制。

另一方面,

gcc 似乎不支持这一点,除非使用转义码,来自他们的 Character sets文件:

In identifiers, characters outside the ASCII range can only be specified with the ‘\u’ and ‘\U’ escapes, not used directly. If strict ISO C90 conformance is specified with an option such as -std=c90, or -fno-extended-identifiers is used, then those escapes are not permitted in identifiers.

关于c++ - 在 Visual Studio 或 GCC 中的 c++ 中使用表情符号作为标识符名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30130806/

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