C++ 语言 - cppreference.com
注释
ASCII 码表
标点符号
名字与标识符
类型 –
基础类型
对象 –
作用域 –
生存期
定义与 ODR
名字查找
有限定 – 无限定(实参依赖)
“如同”规则
未定义行为
内存 – 多线程 (C++11)
字符集与编码
翻译阶段
main 函数
模块 (C++20)
契约 (C++26)
拼接说明符 (C++26)
#if - #ifdef - #ifndef - #elif
#elifdef - #elifndef (C++23)
#define - # - ##
#include -
#pragma
#line - #error
#warning (C++23)
值类别
求值顺序
常量表达式
运算符
赋值 –
算术
自增与自减
逻辑 –
比较
成员访问
调用、逗号、三元
sizeof – alignof (C++11)
new – delete – typeid
反射 (C++26)
代用表示
默认比较 (C++20)
运算符优先级
转换
隐式 –
显式
用户定义
一般算术转换
static_cast – dynamic_cast
const_cast - reinterpret_cast
字面量(转义序列)
布尔 –
整数 –
浮点数
字符 –
字符串
nullptr (C++11)
用户定义 (C++11)
有冲突的声明
存储期与链接
翻译单元局部 (C++20)
语言链接
命名空间声明
命名空间别名
引用 –
指针 –
数组
结构化绑定 (C++17)
枚举与枚举项
inline 说明符
内联汇编
const/volatile
constexpr (C++11)
consteval (C++20)
constinit (C++20)
decltype (C++11)
auto (C++11)
typedef – 类型别名 (C++11)
详述类型说明符
属性 (C++11)
alignas (C++11)
static_assert (C++11)
if – switch
while – do-while
for – 范围 for (C++11)
template for (C++26)
continue – break
goto – return
contract_assert (C++26)
synchronized/atomic (TM TS)
类类型 –
联合体类型
注入类名
数据成员 –
位域
成员函数 –
this 指针
静态成员 –
嵌套类
派生类 –
using 声明
空基类优化
虚函数 –
抽象类
override (C++11) – final (C++11)
成员访问 –
friend
构造函数与成员初始化器列表
默认构造函数 –
析构函数
复制构造函数 –
复制赋值
移动构造函数 (C++11)
移动赋值 (C++11)
转换构造函数
explicit 说明符
模板形参与实参
类模板 –
函数模板
变量模板 (C++14)
类成员模板
模板实参推导
函数 –
类 (CTAD) (C++17)
显式特化 – 部分特化
包 (C++11)
sizeof... (C++11)
折叠表达式 (C++17)
包索引 (C++26)
待决名 –
SFINAE
约束与概念 (C++20)
requires 表达式 (C++20)
try 块
抛出异常
处理异常
异常说明
noexcept 说明 (C++11)
动态异常说明 (C++17 前*)
noexcept 运算符 (C++11)
杂项
惯用手法