Gil*_*ili 16 c++ identifier
关于在标识符中使用美元符号,C++标准有何说法Hello$World?他们合法吗?
Hello$World
Kev*_*ney 16
c ++标识符可以由以下任何一个组成:_(下划线),数字0-9,字母az(大写和小写)并且不能以数字开头.
有许多例外,因为C99允许扩展标准(例如视觉工作室).
Nat*_*ath 14
他们是非法的.标识符中唯一合法的字符是字母,数字和_.标识符也不能以数字开头.
Arn*_*rtz 11
在C++ 03中,前面给出的答案是正确的:它们是非法的.在C++ 11中,情况发生了变化:
这里的答案是"可能": 根据§2.11,标识符可以由数字和标识符 - 非数字组成,从后者之一开始.标识符非数字是通常的a-z,A-Z并强调,除了因为C++ 11它们包括通用字符-名称(例如\uBEAF,\UC0FFEE32),和其他执行定义的字符.因此,如果$允许在标识符中使用,则它是实现定义的.VC10及以上版本也支持早期版本.它甚至支持标识符?????.
a-z
A-Z
\uBEAF
\UC0FFEE32
$
?????
但是:我不会用它们.使标识符尽可能可读和可移植.$是实现定义的,因此不可移植.
Art*_*yom 8
不合法,但很多(如果不是大多数)编译器支持它们,请注意这可能取决于平台,因此gcc on arm因支持程序集而不支持它们.
归档时间:
16 年,4 月 前
查看次数:
9610 次
最近记录:
10 年,4 月 前