标识符
1. 标识符
- 标识符是字符序列 (Character Sequence),可以指代一个实体(对象,函数,宏等)。
- 有些标识符叫 保留标识符,不能声明这类标识符,否则是 未定义行为 (Undefined Behavior, UB):
- 作为关键字的标识符;
- 以一个下划线开始的具有 外部链接 的标识符;
- 所有以一个下划线后随一个大写字母或另一下划线开始的标识符,如
_Mdr__mdr; - 标准库所定义的所有外部标识符。
- 一些限制(这真的存在吗?
- 根据 内部标识符或宏名中 63 个有效起始字符,外部标识符中 31 个有效起始字符 必须可以区分两个不同的标识符;
- 一个翻译单元中最多 4095 个外部标识符;
- 一个块中最多声明 511 个拥有块作用域的标识符;
- 一个预处理翻译单元中最多同时定义 4095 个宏标识符。
2. 关键字
- 类型:
_Bool(bool)chardoublefloatintlongshortsignedunsignedvoid_Complex_Decimal32_Decimal64_Decimal128_Imaginary_BitInt(n) - 指定符和限定符:
inlinerestrict_Alignas(alignas)_Atomic_Generic - 常量:
truefalsenullptr - 控制语句 相关:
breakcasecontinuedefaultdoelseforgotoifreturnswitchwhile - 存储类 说明符:
autoexternregisterstaticconstexpr_Thread_local(thread_local) - 运算符:
sizeoftypeoftypeof_unqual_Alignof(alignof) - 类型的声明:
enumstructunion - 类型推断:
auto - 其他:
_Static_assert(static_assert)typedef
本章内容对应 cppref 链接如下: