16

C++ 标准对在标识符中使用美元符号有何规定,例如Hello$World?他们合法吗?

4

7 回答 7

16

c++ 标识符可以由以下任何一种组成:_(下划线)、数字 0-9、字母 az(大写和小写)并且不能以数字开头。

有许多例外,因为 C99 允许对标准进行扩展(例如Visual Studio)。

于 2009-06-01T20:59:17.060 回答
14

他们是非法的。标识符中唯一合法的字符是字母、数字和_。标识符也不能以数字开头。

于 2009-06-01T20:56:56.317 回答
11
于 2013-04-17T08:40:12.293 回答
8

不合法,但如果不是大多数编译器都支持它们,请注意这可能取决于平台,因此 arm 上的 gcc 由于程序集限制不支持它们。

于 2009-06-01T21:04:28.923 回答
1

相关部分是“2.8 标识符 [lex.name]”。从基本字符集中,唯一有效的字符是 AZ az 0-9 和 _。但是,也允许使用像 é (U+00E9) 这样的字符。不过,根据您的编译器,您可能需要将 é 输入为 \u00e9。

于 2009-06-02T12:55:53.953 回答
0

它们在 C++ 中是不合法的。然而,一些 C/C++ 派生语言(如 Java 和 JavaScript)确实允许它们。

于 2009-06-01T20:59:07.077 回答
0

非法的。我认为美元符号和反引号是我键盘上唯一没有在 C++ 中使用的标点符号(“%”符号在格式字符串中,通过引用 C 标准在 C++ 中)。

于 2009-06-01T21:00:23.627 回答