C++关键字汇总

以下是 C++ 关键字的分类汇总(基于 C++23 标准),按功能分组并标注了部分关键字的引入版本:


1. 基础关键字

关键字 描述
int, char 基本数据类型(bool, float, double, void 等)。
if, else 条件分支。
for, while 循环控制。
switch, case, default 多分支选择。
break, continue 中断循环或 switch 语句。
return 函数返回值。

2. 面向对象编程 (OOP)

关键字 描述
class 定义类(默认成员为私有)。
struct 定义结构体(默认成员为公有)。
public/private/protected 访问控制修饰符。
virtual 声明虚函数或虚继承。
override (C++11) 显式标记覆盖基类虚函数。
final (C++11) 禁止类被继承或虚函数被覆盖。
this 指向当前对象的指针。
friend 声明友元(允许访问私有成员)。

3. 类型相关

关键字 描述
auto (C++11) 自动类型推断(如 auto x = 42;)。
decltype (C++11) 推导表达式类型(如 decltype(x) y;)。
const 定义常量或常量成员函数(不可修改)。
volatile 标记变量可能被外部修改(避免编译器优化)。
mutable 允许在 const 成员函数中修改成员变量。
using 类型别名(替代 typedef)或引入命名空间。
typedef 定义类型别名(如 typedef int MyInt;)。

4. 内存管理

关键字 描述
new/delete 动态内存分配与释放。
static 静态变量(生命周期延长)或静态成员。
extern 声明外部链接的变量或函数。
register (弃用) 建议编译器将变量放入寄存器(C++17 后弃用)。

5. 模板与泛型编程

关键字 描述
template 定义函数模板或类模板。
typename 声明模板中的依赖类型(如 typename T::value_type)。
requires (C++20) 约束模板参数(配合概念使用)。
concept (C++20) 定义模板参数约束(如 concept Integral = ...)。

6. 现代 C++ 新增关键字

关键字 描述
nullptr (C++11) 空指针常量(替代 NULL)。
constexpr (C++11) 编译时常量或常量表达式函数。
noexcept (C++11) 声明函数不抛出异常。
thread_local (C++11) 线程局部存储(每个线程独立副本)。
alignas (C++11) 指定变量对齐方式(如 alignas(16) int x;)。
char8_t (C++20) UTF-8 字符类型。
co_await/co_yield (C++20) 协程支持。

7. 运算符重载与类型转换

关键字 描述
operator 重载运算符(如 operator+)。
explicit 禁止隐式类型转换(用于构造函数或转换函数)。
dynamic_cast 运行时类型检查的转换(用于多态类型)。
static_cast 编译时类型转换(如基本类型转换)。
const_cast 移除 constvolatile 修饰符。
reinterpret_cast 低层比特位重新解释(慎用)。

8. 其他重要关键字

关键字 描述
namespace 定义命名空间(防止命名冲突)。
enum/enum class (C++11) 定义枚举类型(enum class 是强类型枚举)。
try/catch/throw 异常处理机制。
asm 内联汇编代码(平台相关)。
goto 无条件跳转(通常不推荐使用)。

完整列表(部分)

C++ 共有 97 个关键字 (不同标准版本略有增减),例如:
alignof, and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq, signed, unsigned, wchar_t 等。


总结

  • C++11 及后续版本 新增了 auto, nullptr, constexpr, noexcept, thread_local, concept 等关键字。
  • 部分关键字(如 and, or, not)是运算符的替代表示(等价于 &&, ||, !)。
  • 避免使用保留关键字作为标识符(如 int class = 5; 非法)。
相关推荐
ChoSeitaku19 分钟前
16.C++入门:list|手撕list|反向迭代器|与vector对比
c++·windows·list
Qhumaing26 分钟前
C++学习:【PTA】数据结构 7-1 实验6-1(图-邻接矩阵)
c++·学习·算法
No0d1es26 分钟前
2025年12月 GESP CCF编程能力等级认证C++一级真题
开发语言·c++·青少年编程·gesp·ccf
2301_7737303133 分钟前
系统编程—在线商城信息查询系统
c++·html
郝学胜-神的一滴33 分钟前
深入理解Linux中的Try锁机制
linux·服务器·开发语言·c++·程序人生
散峰而望1 小时前
【算法竞赛】顺序表和vector
c语言·开发语言·数据结构·c++·人工智能·算法·github
cpp_25011 小时前
B3927 [GESP202312 四级] 小杨的字典
数据结构·c++·算法·题解·洛谷
Cx330❀2 小时前
《C++ 递归、搜索与回溯》第2-3题:合并两个有序链表,反转链表
开发语言·数据结构·c++·算法·链表·面试
小六子成长记2 小时前
【C++】:多态的实现
开发语言·c++
chen_2272 小时前
动态桌面方案
c++·qt·ffmpeg·kanzi