在c++;在VisualStudio或GCC中 传统上,在C++中,作为标识符的一部分,我们所接受的字符是:第一个字符之后的、AZ、A Z</代码>和 0~9< /代码>。
有没有办法将VisualStudio或GCC配置为接受表情符号作为标识符名称(或任何其他任意unicode字符)的一部分 <代码> int a=2,我们可以看到C++标准允许某些扩展字符集。这些数据似乎在允许的范围内 据我所知,使用此Visual Studio 2013支持标识符中的扩展字符,这由以下各项支持: C++规范允许使用Unicode字符命名 <>和VisualC++本身也允许。不受ASCII限制 并提供了链接,表明自2005年以来允许使用此链接。尽管正如bames53所指出的,在表情符号方面可能存在Windows限制 另一方面,在c++;在VisualStudio或GCC中 传统上,在C++中,作为标识符的一部分,我们所接受的字符是:第一个字符之后的、AZ、A Z</代码>和 0~9< /代码>。,c++,visual-studio,compilation,g++,C++,Visual Studio,Compilation,G++,有没有办法将VisualStudio或GCC配置为接受表情符号作为标识符名称(或任何其他任意unicode字符)的一部分 int a=2,我们可以看到C++标准允许某些扩展字符集。这些数据似乎在允许的范围内 据我所知,使用此Visual Studio 2013支持标识符中的扩展字符,这由以下各项支持: C++规范允许使用Unicode字符命名 和VisualC++本身也允许。不受ASCII限制 并提供了链接,表明自2005年以来允许使用此链接。尽管正如bames53所指出的,在表情符号方面可能
gcc
似乎不支持这一点,除非使用其文档中的转义码:
在标识符中,ASCII范围之外的字符只能用“\u”和“\u”转义符指定,不能直接使用。如果使用-std=C90或-fno扩展标识符等选项指定严格的ISO C90一致性,则标识符中不允许这些转义
自GCC10以来,gcc现在接受表情符号作为标识符名称的一部分
资料来源:密切相关。。。答案是C++ 11的C++规范要求编译器在标识符中接受表情字符,是的,一些主流编译器接受它们。Clang有很好的支持,在OS X上有很好的支持显示表情符号。至少在vs2013之前,MSVC似乎有很好的支持,但是Window对显示表情符号的支持比人们希望的要少,至少在8.1之前是这样。GCC 5在默认情况下启用“-fextended identifiers”选项,但这仅在标识符中以UCS的形式启用表情符号:规范要求UCS和字面上写表情符号(例如,使用UTF-8)的行为相同,但GCC尚未做到这一点。clang是更好地支持扩展字符的一种,但由于某种原因,只在变量名中,在函数中没有。