C 共计 37个关键字
/* check C keywords */
#if defined(auto) \ // 用于声明自动变量,即函数内部声明的变量。
|| defined(break) \ // 用于跳出循环或switch语句。
|| defined(case) \ // 用于switch语句中的分支。
|| defined(char) \ // 用于声明字符类型变量。
|| defined(const) \ // 用于声明常量。
|| defined(continue) \ // 用于跳出循环中的某次迭代。
|| defined(default) \ // 用于switch语句中的默认分支。
|| defined(do) \ // 用于循环体语句do-while的循环体。
|| defined(double) \ // 用于声明双精度浮点数类型变量。
|| defined(else) \ // 用于if语句中的分支。
|| defined(enum) \ // 用于声明枚举类型。
|| defined(extern) \ // 用于声明外部变量或函数。
|| defined(float) \ // 用于声明双精度浮点数类型变量。
|| defined(for) \ // 用于循环语句for的循环体。
|| defined(goto) \ // 用于无条件跳转到指定标签处。
|| defined(if) \ // 用于条件语句。
|| defined(inline) \ // 用于声明内联语句。
|| defined(int) \ // 用于声明整型变量。
|| defined(long) \ // 用于声明长整型变量。
|| defined(register) \ // 用于声明寄存器变量。
|| defined(restrict) \ // 用于指定指针所指定的内存区域是唯一的。
|| defined(return) \ // 用于从函数中返回值。
|| defined(short) \ // 用于声明短整型变量。
|| defined(signed) \ // 用于声明有符号类型变量。
|| defined(sizeof) \ // 用于获取变量或类型的大小。
|| defined(static) \ // 用于声明静态变量或函数。
|| defined(struct) \ // 用于声明结构体类型。
|| defined(switch) \ // 用于多分支选择类型。
|| defined(typedef) \ // 用于定义类型别名。
|| defined(union) \ // 用于声明联合体类型。
|| defined(unsigned) \ // 用于声明无符号类型变量。
|| defined(void) \ // 用于声明无类型变量或函数。
|| defined(volatile) \ // 用于指定变量时易变的。
|| defined(while) \ // 用于循环语句while的循环体。
|| defined(_Bool) \ // 用于声明布尔类型变量。
|| defined(_Complex) \ // 用于声明复数类型变量。
|| defined(_Imaginary) // 用于声明虚数类型变量。
#endif /* defined... */
C++ 共计 81个关键字
/* check C++ keywords */
#if defined(alignas) \ // 用于指定变量或类型的对齐类型。
|| defined(alignof) \ // 用于获取变量或类型的对齐方式。
|| defined(asm) \ // 用于嵌入汇编代码。
|| defined(auto) \ // 用于声明自动变量,即在函数内部定义的变量。
|| defined(bool) \ // 用于声明布尔型变量。
|| defined(break) \ // 用于跳出循环或switch语句。
|| defined(case) \ // 用于switch语句中的分支。
|| defined(catch) \ // 用于异常处理。
|| defined(char) \ // 用于声明字符类型变量。
|| defined(char16_t) \ // 用于声明16位Unicode字符类型变量。
|| defined(char32_t) \ // 用于声明32位Unicode字符类型变量。
|| defined(class) \ // 用于声明类类型。
|| defined(const) \ // 用于声明常量。
|| defined(const_cast) \ // 用于将常量指针或引用,转换为非常量指针或引用。
|| defined(constexpr) \ // 用于声明常量表达式。
|| defined(continue) \ // 用于跳过循环中某次迭代。
|| defined(decltype) \ // 用于获取表达式类型。
|| defined(default) \ // 用于switch语句中的默认分支。
|| defined(delete) \ // 用于删除对象或函数。
|| defined(do) \ // 用于循环语句do-while的循环体。
|| defined(double) \ // 用于声明双精度浮点数类型变量。
|| defined(dynamic_cast) \ // 用于将基类指针或引用,转换为派生类指针或引用。
|| defined(else) \ // 用于if语句中的分支。
|| defined(enum) \ // 用于声明枚举类型数据结构。
|| defined(explicit) \ // 用于声明显式构造函数或类型转换函数。
|| defined(export) \ // 用于导出模板实例。
|| defined(extern) \ // 用于声明外部变量或函数。
|| defined(false) \ // 用于表示布尔类型为假值。
|| defined(float) \ // 用于声明单精度浮点数类型变量。
|| defined(for) \ // 用于循环语句for的循环体。
|| defined(friend) \ // 用于声明友元函数或类。
|| defined(goto) \ // 用于无条件跳转到指定标签处。
|| defined(if) \ // 用于条件语句。
|| defined(inline) \ // 用于声明内联函数。
|| defined(int) \ // 用于声明整型变量。
|| defined(long) \ // 用于声明长整型变量。
|| defined(mutable) \ // 用于声明可变数据成员。
|| defined(namespace) \ // 用于声明命名空阿金。
|| defined(new) && defined(_ENFORCE_BAN_OF_MACRO_NEW) \ // 用于动态分配内存。
|| defined(noexcept) \ // 用于声明不会抛出异常的函数。
|| defined(nullptr) \ // 用于表示控制指针。
|| defined(operator) \ // 用于声明运算符函数。
|| defined(private) \ // 用于声明私有数据成员或函数。
|| defined(protected) \ // 用于声明受保护的数据成员或函数。
|| defined(public) \ // 用于声明公共数据成员或函数。
|| defined(register) \ // 用于声明寄存器变量。
|| defined(reinterpret_cast) \ // 用于将指针或引用转换为其他类型的指针或引用。
|| defined(return) \ // 用于从函数中返回值。
|| defined(short) \ // 用于声明短整型变量。
|| defined(signed) \ // 用于声明有符号类型的变量。
|| defined(sizeof) \ // 用于获取变量或类型的大小。
|| defined(static) \ // 用于声明静态变量或函数。
|| defined(static_assert) \ // 用于在编译时检查条件。
|| defined(static_cast) \ // 用于将表达式转换为其他类型。
|| defined(struct) \ // 用于声明结构体类型。
|| defined(switch) \ // 用于多分支选择语句。
|| defined(template) \ // 用于声明模板。
|| defined(this) \ // 用于获取当前对象的指针。
|| defined(thread_local) \ // 用于声明线程局部变量。
|| defined(throw) \ // 用于抛出异常。
|| defined(true) \ // 用于表示布尔类型的真值。
|| defined(try) \ // 用于异常处理。
|| defined(typedef) \ // 用于定义类型别名。
|| defined(typeid) \ // 用于获取表达式的类型信息。
|| defined(typename) \ // 用于指定类型名。
|| defined(union) \ // 用于声明联合类型。
|| defined(unsigned) \ // 用于声明无符号类型变量。
|| defined(using) \ // 用于引入命名空间中的符号。
|| defined(virtual) \ // 用于声明虚函数。
|| defined(void) \ // 用于声明无类型变量或函数。
|| defined(volatile) \ // 用于指定变量时易变的。
|| defined(wchar_t) \ // 用于声明宽字符类型变量。
|| defined(while) \ // 用于循环语句while的循环体。
|| defined(final) /* check "identifiers with special meaning" */ \ // 用于声明不能被继承的类或虚函数
|| defined(override) /* (also known as context-sensitive keywords) */ \ // 用于声明覆盖基类的虚函数。
|| defined(carries_dependency) /* check attribute-tokens */ \ // 用于指定依赖传递。
|| defined(deprecated) && _HAS_CXX17 \ // 用于标识已过时的函数或类。
|| defined(fallthrough) && _HAS_CXX17 \ // 用于标记switch语句中的分支穿透。
|| defined(maybe_unused) && _HAS_CXX17 \ // 用于标记未使用的标量或函数。
|| defined(nodiscard) && _HAS_CXX17 \ // 用于标记函数返回值不能被忽略。
|| defined(noreturn) // 用于标记函数没有返回值。
#endif /* defined... */