Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.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+;中的非ASCII字符创建变量名吗+;? 我从2010开始写C++。_C++_Ascii - Fatal编程技术网

我可以用c+;中的非ASCII字符创建变量名吗+;? 我从2010开始写C++。

我可以用c+;中的非ASCII字符创建变量名吗+;? 我从2010开始写C++。,c++,ascii,C++,Ascii,我只是不小心在代码中输入了“l”字母,将鼠标悬停在上面以将其删除,然后注意到Visual Studio只是说没有变量“l” 我写了int l=1;,它刚刚编译 我错过了什么 BET,可能是C++ 11+14的特征或类似的东西。< P>如果你查看附件E,你可以看到有一些Unicode范围允许是变量名。这些范围包括: 00A8、00AA、00AD、00AF、00B2-00B5、00B7-00BA、00BC-00BE、00C0-00D6、, 00D8-00F6,00F8-00FF 0100-167F

我只是不小心在代码中输入了“l”字母,将鼠标悬停在上面以将其删除,然后注意到Visual Studio只是说没有变量“l”

我写了
int l=1;
,它刚刚编译

我错过了什么


BET,可能是C++ 11+14的特征或类似的东西。

< P>如果你查看附件E,你可以看到有一些Unicode范围允许是变量名。这些范围包括:

00A8、00AA、00AD、00AF、00B2-00B5、00B7-00BA、00BC-00BE、00C0-00D6、, 00D8-00F6,00F8-00FF 0100-167F,1681-180D,180F-1FF 200B-200D, 202A-202E、203F-2040、2054、2060-206F、2070-218F、2460-24FF、2776-2793、, 2C00-2DFF,2E80-2FF3004-3007,3021-302F,3031-303F 3040-D7FF F900-FD3D、FD40-FDCF、FDF0-FE44、FE47-FFFD 10000-1FFD、20000-2FFD、, 30000-3FFFD,40000-4FFFD,50000-5FFFD,60000-6FFFD,70000-7FFFD, 80000-8FFFD、90000-9FFFD、A0000-AFFFFD、B0000-BFFFD、C0000-CFFFD、, D0000-DFFFD,E0000-EFFFD


好的,似乎没有对Unicode字符使用的限制,根据



对此我感到失望,因为我对此一无所知。

以下是标准所说的([lex.phases]):

如有必要,将以实现定义的方式将物理源文件字符映射到基本源字符集(为行尾指示符引入新行字符)。 接受的物理源文件字符集由实现定义


因此,您的特定实现支持这一点,但不能保证可移植到任何其他实现。

不要使用cplusplus.com,使用cplusplus.com在准确性或完整性方面并没有很好的声誉。@Shawn许多俄罗斯网站说它应该是非常拉丁的。不,这是visual studio接受的使用特殊字符。GCC甚至不接受
é
,也不接受
l
。GCC对非ascii字符的支持较差。
struct テスト         // Japanese     'test'
{
void トスト() {}  // Japanese      'toast'
};

 int main() {
テスト \u30D1\u30F3;  // Japanese      パン 'bread' in UCN form
パン.トスト();        // compiler      recognizes UCN or literal form
 }