C++ 关键词
一般主题 | |||||||||||
|
|||||||||||
流程控制 | |||||||||||
条件执行语句 | |||||||||||
重复语句(循环) | |||||||||||
跳转语句 | |||||||||||
函数 | |||||||||||
函数声明 | |||||||||||
Lambda 函数声明 | |||||||||||
inline
说明符
|
|||||||||||
动态异常说明 (C++20 前) | |||||||||||
noexcept
说明符
(C++11)
|
|||||||||||
异常 | |||||||||||
命名空间 | |||||||||||
类型 | |||||||||||
说明符 | |||||||||||
|
|||||||||||
存储期说明符 | |||||||||||
初始化 | |||||||||||
表达式 | ||||||||||||||||
替代表示 | ||||||||||||||||
字面量 | ||||||||||||||||
布尔 - 整数 - 浮点 | ||||||||||||||||
字符 - 字符串 - nullptr (C++11) | ||||||||||||||||
用户定义 (C++11) | ||||||||||||||||
工具 | ||||||||||||||||
属性 (C++11) | ||||||||||||||||
类型 | ||||||||||||||||
typedef
声明
|
||||||||||||||||
类型别名声明 (C++11) | ||||||||||||||||
类型转换 | ||||||||||||||||
隐式转换 - 显式转换 | ||||||||||||||||
static_cast - dynamic_cast | ||||||||||||||||
const_cast - reinterpret_cast | ||||||||||||||||
内存分配 | ||||||||||||||||
类 | ||||||||||||||||
特定于类的函数性质 | ||||||||||||||||
|
||||||||||||||||
特殊成员函数 | ||||||||||||||||
模板 | ||||||||||||||||
杂项 | ||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
具有特殊含义的标识符 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
这是 C++ 中的保留词列表。因为它们用于语言本身,所以这些关键词不能用于重定义或重载。有一点例外是,它们在属性中(的属性实参列表外)不是保留词。 (C++11 起)
- (1) — C++11 中含义改变或添加新含义。
- (2) — C++17 中含义改变。
- (3) — C++20 中含义改变。
- (4) — C++23 中添加新含义。
注意 and
、bitor
、or
、xor
、compl
、bitand
、and_eq
、or_eq
、xor_eq
、not
和 not_eq
(还有双标符 <%、%>、<:、:>、%: 和 %:%:)提供了标准记号的代用表示方法。这些关键词在属性中(的属性实参列表外)也是保留词,但部分实现不会将它们在此视为保留词。
(C++11
起)
除了关键词外,还有拥有特殊含义的标识符,它们可以用作对象或函数的名字,但在特定语境拥有特殊含义。
override
(C++11) |
还有,在任何位置含双下划线 __ 的所有标识符,和以一个下划线后随一个大写字母开始的所有标识符,都始终受保留,而所有以单下划线开始的标识符,保留用作全局命名空间中的名称。更多细节见标识符。
命名空间 std
用于放置标准 C++ 库中的名称。关于向它添加名称的规则,见扩充命名空间 std 。
名称 |
(C++11 起) |
预处理器在预处理指令的语境中识别下列记号:
defined |
预处理器在预处理指令的语境之外 识别下列记号:
_Pragma (C++11 起) |