首页 > 解决方案 > 是否可以在c ++中创建以数字开头的类名

问题描述

我需要创建一个以数字开头的类名,如 206xx。如果可以创建,那么如何实现这一点。

标签: c++

解决方案


不,这是不可能的。有效的标识符必须以非数字字符开头,并且类名是标识符。

引用标准,第 2.10 节:

identifier:
  identifier-nondigit
  identifier identifier-nondigit
  identifier digit

identifier-nondigit:
  nondigit
  universal-character-name
  other implementation-defined characters

nondigit: one of 
     a b c d e f g h i j k l m
     n o p q r s t u v w x y z
     A B C D E F G H I J K L M
     N O P Q R S T U V W X Y Z

digit: one of 0 1 2 3 4 5 6 7 8 9

标识符是任意长的字母和数字序列。标识符中的每个通用字符名称应指定一个字符,其在 ISO 10646 中的编码属于 E.1 中规定的范围之一。初始元素不应是指定字符的通用字符名称,该字符的编码属于 E.2 中规定的范围之一。大写字母和小写字母不同。所有字符都很重要。

因此,从上面的语法中,我们看到identifier-nondigit必须在digit的所有推导中出现identifier。因此,标识符不能以数字开头。


推荐阅读