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_await, co_yield, co_return (协程相关)
注意
C++ 标准的不同版本可能会引入或移除关键字(如 register 在 C++17 被移除)。
某些关键字(如 and, or, not)是替代运算符的别名,可增强代码可读性。
这些关键字在编程时不能用作变量名、函数名或自定义标识符,否则会导致编译错误。
凌志编程机器人培训学校全体教师参加山东省青少年科···
由淄博市教体局,淄博市科协主办,凌志编程机器人培···
创客空间建设 能够给人们分享各种乐趣,通过电脑,···
在了解创客教育之前,我们首先了解下何为创客。创客···