C++ 主要关键字
2025-03-26
66
C++ 语言的关键字(也称为保留字)是预先定义的具有特殊含义的标识符,不能用作变量名、函数名或其他用户定义的标识符。以下是 C++ 的关键字列表(基于 C++11、C++14、C++17 和 C++20 标准):C++ 主要关键字:基本关键字alignas(C++11)alignof(C++11)and(逻辑与,替代&&)and_eq(替代

C++ 语言的关键字(也称为保留字)是预先定义的具有特殊含义的标识符,不能用作变量名、函数名或其他用户定义的标识符。以下是 C++ 的关键字列表(基于 C++11、C++14、C++17 和 C++20 标准):

C++ 主要关键字:

基本关键字


alignas (C++11)


alignof (C++11)


and (逻辑与,替代 &&)


and_eq (替代 &=)


asm (内联汇编)


auto (自动类型推导)


bitand (替代 &)


bitor (替代 |)


bool (布尔类型)

 

break (跳出循环/switch)


case (switch 分支)

 

catch (异常捕获)

 

char (字符类型)


char8_t (C++20, UTF-8 字符)


char16_t (C++11, UTF-16 字符)


char32_t (C++11, UTF-32 字符)


class (定义类)

 

compl (替代 ~)


concept (C++20, 概念约束)


const (常量)


consteval (C++20, 立即求值函数)


constexpr (C++11, 编译期常量)


constinit (C++20, 强制常量初始化)


const_cast (常量转换)


continue (继续循环)


co_await (C++20, 协程等待)

 

co_return (C++20, 协程返回)


co_yield (C++20, 协程产出)


decltype (C++11, 类型推导)


default (默认 case/默认函数)


delete (删除函数/释放内存)


do (do-while 循环)


double (双精度浮点)


dynamic_cast (动态类型转换)


else (if-else 分支)

 

enum (枚举)


explicit (显式构造函数)


export (模板导出, C++20 重新引入)


extern (外部链接)

 

false (布尔假)


float (单精度浮点)

 

for (for 循环)


friend (友元)


goto (跳转)

 

if (条件判断)


inline (内联函数)

 

int (整型)

 

long (长整型)


mutable (可变成员)


namespace (命名空间)


new (动态内存分配)

 

noexcept (C++11, 不抛出异常)

 

not (逻辑非,替代 !)


not_eq (替代 !=)


nullptr (C++11, 空指针)


operator (运算符重载)


or (逻辑或,替代 ||)


or_eq (替代 |=)


private (私有成员)


protected (保护成员)


public (公有成员)


register (已弃用, C++17 移除)


reinterpret_cast (重新解释转换)

 

requires (C++20, 概念约束)


return (返回值)


short (短整型)


signed (有符号类型)


sizeof (大小计算)


static (静态存储)

 

static_assert (C++11, 静态断言)


static_cast (静态转换)


struct (结构体)


switch (多分支选择)


template (模板)


this (当前对象指针)


thread_local (C++11, 线程局部存储)


throw (抛出异常)

 

true (布尔真)


try (异常捕获块)


typedef (类型别名)


typeid (类型信息)


typename (模板类型)


union (联合体)


unsigned (无符号类型)


using (类型别名/命名空间引入)


virtual (虚函数)


void (无类型)

 

volatile (易变变量)


wchar_t (宽字符)


while (while 循环)


xor (逻辑异或,替代 ^)


xor_eq (替代 ^=)

 

C++20 新增关键字


concept (概念约束)


requires (约束表达式)


consteval (立即求值函数)


constinit (强制常量初始化)


co_awaitco_yieldco_return (协程相关)

注意

C++ 标准的不同版本可能会引入或移除关键字(如 register 在 C++17 被移除)。


某些关键字(如 andornot)是替代运算符的别名,可增强代码可读性。


这些关键字在编程时不能用作变量名、函数名或自定义标识符,否则会导致编译错误。