在Visual Studio或GCC的C++中使用emoji作为标识符名 [英] Using emoji as identifier names in c++ in Visual Studio or GCC

查看:153
本文介绍了在Visual Studio或GCC的C++中使用emoji作为标识符名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

传统上,我们可以在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 exampleVisual Studio 2013支持标识符中的扩展字符,C++ Identifiers documentation

C++规范允许使用Unicode字符命名

而且,Visual C++本身也允许。不受ASCII限制。

,并提供了表明自2005年起允许这样做的链接。不过,正如bames53指出的那样,Windows对表情符号的尊重可能存在局限性。

gcc似乎不支持这一点,除非使用Character sets文档中的转义代码:

在标识符中,ASCII范围之外的字符只能使用‘u’和‘U’转义指定,不能直接使用。如果使用-std=c90之类的选项指定严格的ISO C90一致性,或者使用-fno扩展标识符,则不允许在标识符中使用这些转义。

这篇关于在Visual Studio或GCC的C++中使用emoji作为标识符名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆