Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c++;在VisualStudio或GCC中 传统上,在C++中,作为标识符的一部分,我们所接受的字符是:第一个字符之后的、AZ、A Z</代码>和 0~9< /代码>。_C++_Visual Studio_Compilation_G++ - Fatal编程技术网

在c++;在VisualStudio或GCC中 传统上,在C++中,作为标识符的一部分,我们所接受的字符是:第一个字符之后的、AZ、A Z</代码>和 0~9< /代码>。

在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所指出的,在表情符号方面可能

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

<代码> int a=2,我们可以看到C++标准允许某些扩展字符集。这些数据似乎在允许的范围内

据我所知,使用此Visual Studio 2013支持标识符中的扩展字符,这由以下各项支持:

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

<>和VisualC++本身也允许。不受ASCII限制

并提供了链接,表明自2005年以来允许使用此链接。尽管正如bames53所指出的,在表情符号方面可能存在Windows限制

另一方面,
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是更好地支持扩展字符的一种,但由于某种原因,只在变量名中,在函数中没有。