C++标识符

标识符是用于的字符序列表示下列操作之一:

  • 对象或变量名称

  • 类、结构或联合名

  • 枚举类型名称

  • 类、结构、联合或枚举的成员

  • 函数或类成员函数

  • typedef 名称

  • 标签名称

  • 宏名

  • 宏参数

以下字符是合法的用作标识符的第一个字符,或者所有后续字符:

_ 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

以下字符是合法的为一个标识符中的所有字符除第一:

0 1 2 3 4 5 6 7 8 9

Microsoft 专用

Microsoft C++ 标识符仅前 2048 个字符是有意义的。 名称用户定义的类型 “由编译器修饰”保留类型信息。 给定的名称,包括类型信息,超过 2048 个字符不能超过。 (请参见 修饰名 有关更多信息。)会影响一个装饰性的标识符的长度的因素包括:

  • 该标识符是否表示从用户定义派生的用户定义的类型或类型的对象键入。

  • 该标识符是否表示从函数或类型派生的功能。

  • 参数的数目函数。

美元符号也在 Visual C++ 的有效的标识符。

// dollar_sign_identifier.cpp
struct $Y1$ {
   void $Test$() {}
};

int main() {
   $Y1$ $x$;
   $x$.$Test$();
}

特定于 Microsoft 的结尾

标识符的首字符必须为字母字符,大写或小写或下划线 ( _ )。 由于 C++ 标识符区分大小写, fileName 与 FileName不同。

标识符不能为同一拼写并用例与关键字。 包含关键字的标识符合法。 例如, Pint 是一个合法的标识符,因此,即使它包含 int,是关键字。

对两个连续下划线字符 () 用于标识符的开头或一个大写字母执行的单个前导下划线,为任意大小的 C++ 实现是保留的。 应避免使用小写字母后跟一个前导下划线用于名称与文件的大小由于可能的冲突。现在或将来保留标识符。

请参见

参考

词法约定