跳到主要内容

C++23 · 前置:C

C++ 速查手册

面向已掌握 C 的读者,集中查询现代 C++23 的语言机制、标准库和工程实践。

8 / 80 / 400

公开章节 / 任务入口 / 关键词与别名

章节地图

  1. 从 C 进入现代 C++
  2. 初始化、类型推导与现代语法
  3. 引用、const、值类别与生命周期
  4. 函数重载、名字空间、强类型枚举与别名
  5. 类、对象、访问控制与封装
  6. 构造、析构与对象初始化
  7. 复制、移动与特殊成员函数规则
  8. RAII、资源所有权与智能指针

按任务查找

按声明顺序推断初始化而不是按列表书写顺序
构造、析构与对象初始化 · 基类与成员初始化顺序
把 std::move 解释为允许移动的值类别转换
引用、const、值类别与生命周期 · std::move 只是转换
把非默认释放操作编码进智能指针类型或控制块
RAII、资源所有权与智能指针 · 自定义删除器
把共同初始化逻辑委托给同类构造函数
构造、析构与对象初始化 · 委托构造函数
把默认值放在单一可见声明并理解调用点绑定
函数重载、名字空间、强类型枚举与别名 · 默认实参
把现有对象替换为源对象的等价值
复制、移动与特殊成员函数规则 · 复制赋值运算符
把资源释放绑定到对象生命周期
从 C 进入现代 C++ · 资源管理与对象生命周期
保留表达式的引用和值类别语义
初始化、类型推导与现代语法 · decltype(auto) 与返回类型
比较精确匹配、提升和标准转换
函数重载、名字空间、强类型枚举与别名 · 重载决议与转换序列
避免把 C++ 当作只增加类的 C
从 C 进入现代 C++ · 常见陷阱
避免二义重载、全局 using 和 ODR 违规
函数重载、名字空间、强类型枚举与别名 · 常见陷阱
避免公开数据、失效不变量和滥用 friend
类、对象、访问控制与封装 · 常见陷阱
避免双重释放、遗漏移动和依赖复制消除次数
复制、移动与特殊成员函数规则 · 常见陷阱
避免推导出悬垂引用或意外初始化形式
初始化、类型推导与现代语法 · 常见陷阱
避免依赖列表顺序、体内赋值和析构抛出
构造、析构与对象初始化 · 常见陷阱
避免移动后假设、过度 const 和引用失效
引用、const、值类别与生命周期 · 常见陷阱
表达类级共享状态和不依赖对象的操作
类、对象、访问控制与封装 · 静态数据与静态成员函数
从表达式类别判断绑定和重载行为
引用、const、值类别与生命周期 · glvalue、prvalue、xvalue 地图
从初始化器推导类型并识别 cv/ref 丢弃规则
初始化、类型推导与现代语法 · auto 占位类型推导
从可转移源初始化新对象并保持源有效
复制、移动与特殊成员函数规则 · 移动构造函数
从类定义创建具有独立状态的对象
类、对象、访问控制与封装 · 类定义与对象
从现有对象创建独立等价值
复制、移动与特殊成员函数规则 · 复制构造函数
发现返回局部引用和超出生存期引用
引用、const、值类别与生命周期 · 悬垂引用识别
分离声明和定义并避免重复定义
函数重载、名字空间、强类型枚举与别名 · 头文件接口与链接边界
根据可空性、重绑定和所有权选择参数形式
引用、const、值类别与生命周期 · 指针与引用的接口选择
根据资源所有权选择需要声明的特殊成员
复制、移动与特殊成员函数规则 · 规则零、三与五
控制单实参构造引起的隐式转换
构造、析构与对象初始化 · 转换构造与 explicit
理解容器重定位为何偏好不抛出的移动
复制、移动与特殊成员函数规则 · noexcept 移动与容器选择
理解已完成子对象在异常传播时的销毁
构造、析构与对象初始化 · 部分构造失败
判断对象是否被零初始化或保持未确定值
初始化、类型推导与现代语法 · 默认初始化与值初始化
判断非常量与常量左值引用可绑定的表达式
引用、const、值类别与生命周期 · 左值引用绑定
判断构造表达式何时使用推导指引
初始化、类型推导与现代语法 · 类模板实参推导
判断临时对象何时存在以及引用能否延长其生命
引用、const、值类别与生命周期 · 临时对象具体化与生命周期延长
区分抽象成本、优化机会和性能承诺
从 C 进入现代 C++ · 零开销抽象的含义
区分存储、对象生存期和析构完成
构造、析构与对象初始化 · 对象生命周期的开始与结束
区分构造函数角色和可用性
构造、析构与对象初始化 · 默认、普通与复制移动构造概览
区分兼容表象、共同语法和不同语言保证
从 C 进入现代 C++ · C 与 C++ 的语言边界
区分默认、值、直接、复制和列表初始化
初始化、类型推导与现代语法 · 初始化形式地图
区分普通右值引用与依赖推导的转发引用
引用、const、值类别与生命周期 · 转发引用预览
区分未加括号名称和一般表达式的结果
初始化、类型推导与现代语法 · decltype 的两套规则
区分引入单个名称和开放整个名字空间
函数重载、名字空间、强类型枚举与别名 · using 声明与 using 指令
让构造和公开操作共同维护对象不变量
类、对象、访问控制与封装 · 类不变量与合法状态
让只读对象只能调用不修改可观察状态的接口
类、对象、访问控制与封装 · const 成员函数
让资源有效期等于管理对象的生命周期
RAII、资源所有权与智能指针 · RAII 的获取与释放合同
设计可区分且语义一致的重载集合
函数重载、名字空间、强类型枚举与别名 · 重载集与函数签名
设计只读接口并区分顶层与底层 const
引用、const、值类别与生命周期 · const 正确性
识别 auto 与模板参数推导的共同边界
初始化、类型推导与现代语法 · 模板推导规则预览
识别编译器可隐式声明的特殊成员
复制、移动与特殊成员函数规则 · 六个特殊成员函数总览
识别花括号调用优先选择列表重载的情形
初始化、类型推导与现代语法 · initializer_list 的重载优先级
识别隐式对象参数和成员访问
类、对象、访问控制与封装 · 成员函数与 this
释放旧资源并接管源对象资源
复制、移动与特殊成员函数规则 · 移动赋值运算符
通过成员对象构建更大的行为单元
类、对象、访问控制与封装 · 组合与成员对象
为多个构造函数共享成员默认值
构造、析构与对象初始化 · 默认成员初始化器
为句柄、锁或会话设计专用管理对象
RAII、资源所有权与智能指针 · 非内存资源的 RAII 包装
为异常、状态值和类型化结果选择边界
从 C 进入现代 C++ · 错误表达方式概览
用 public、protected、private 维护接口边界
类、对象、访问控制与封装 · 访问控制与封装
用 using 表达类型名称和参数化别名
函数重载、名字空间、强类型枚举与别名 · 类型别名与别名模板
用 weak_ptr 打破环并避免无意义共享
RAII、资源所有权与智能指针 · 共享环与常见陷阱
用标准工厂一次性构造受管理对象
RAII、资源所有权与智能指针 · make_unique 与 make_shared
用不可复制、可移动的句柄表达唯一所有者
RAII、资源所有权与智能指针 · unique_ptr 的独占所有权
用花括号初始化阻止不允许的窄化
初始化、类型推导与现代语法 · 列表初始化与窄化检查
用类型系统表达接口约束而非约定注释
从 C 进入现代 C++ · 类型安全与抽象边界
用临时值和 swap 维护赋值异常安全
复制、移动与特殊成员函数规则 · copy-and-swap 与有效状态
用名字空间组织接口并理解限定查找
函数重载、名字空间、强类型枚举与别名 · 名字空间与名称查找
用明确 C++23 模式编译而不依赖扩展
从 C 进入现代 C++ · 源文件、语言模式与工具链
用强类型枚举限制隐式转换和名称泄漏
函数重载、名字空间、强类型枚举与别名 · enum class 与底层类型
用右值引用表达可转移状态的对象
引用、const、值类别与生命周期 · 右值引用绑定
用值、复制和移动表达独立对象状态
从 C 进入现代 C++ · 值语义作为默认建模方式
用值、引用和智能指针参数表达所有权变化
RAII、资源所有权与智能指针 · 所有权转移与接口签名
优先选择标准容器、字符串和算法
从 C 进入现代 C++ · 标准库优先的默认实践
预测特殊成员何时默认生成或被删除
复制、移动与特殊成员函数规则 · 隐式生成、抑制与删除
在不延长生命周期的前提下观察共享对象
RAII、资源所有权与智能指针 · weak_ptr 的非拥有观察
在对象生命周期结束时可靠释放所拥有资源
构造、析构与对象初始化 · 析构函数合同
在多翻译单元中正确定义内联实体
函数重载、名字空间、强类型枚举与别名 · inline 与单一定义规则
在构造函数体执行前直接初始化成员
构造、析构与对象初始化 · 成员初始化列表
在接口中明确资源由谁拥有和释放
RAII、资源所有权与智能指针 · 独占、共享与观察所有权
只把默认访问差异当作语法默认值
类、对象、访问控制与封装 · class 与 struct 的默认访问
只为紧密协作接口授予非成员访问
类、对象、访问控制与封装 · friend 的受控访问边界
只在真实共享生命周期时使用引用计数
RAII、资源所有权与智能指针 · shared_ptr 的共享所有权
逐项替换手工资源管理和弱类型接口
从 C 进入现代 C++ · 从 C 迁移的检查清单

关键词索引

按值传递
RAII、资源所有权与智能指针 · 所有权转移与接口签名
绑定
引用、const、值类别与生命周期 · 左值引用绑定
编译模式
从 C 进入现代 C++ · 源文件、语言模式与工具链
标准库
从 C 进入现代 C++ · 标准库优先的默认实践
表达式类别
初始化、类型推导与现代语法 · decltype 的两套规则
别名模板
函数重载、名字空间、强类型枚举与别名 · 类型别名与别名模板
不变量破坏
类、对象、访问控制与封装 · 常见陷阱
参数类型
函数重载、名字空间、强类型枚举与别名 · 重载集与函数签名
参数模式
初始化、类型推导与现代语法 · 模板推导规则预览
成本模型
从 C 进入现代 C++ · 零开销抽象的含义
成员
类、对象、访问控制与封装 · 类定义与对象
成员初始化列表
构造、析构与对象初始化 · 成员初始化列表
成员对象
类、对象、访问控制与封装 · 组合与成员对象
成员对象
构造、析构与对象初始化 · 成员初始化列表
成员访问
类、对象、访问控制与封装 · 成员函数与 this
成员函数
类、对象、访问控制与封装 · 成员函数与 this
成员可用性
复制、移动与特殊成员函数规则 · 隐式生成、抑制与删除
成员默认值
构造、析构与对象初始化 · 默认成员初始化器
成员声明顺序
构造、析构与对象初始化 · 基类与成员初始化顺序
抽象
从 C 进入现代 C++ · 类型安全与抽象边界
初始化
初始化、类型推导与现代语法 · 初始化形式地图
初始化复用
构造、析构与对象初始化 · 委托构造函数
初始化覆盖
构造、析构与对象初始化 · 默认成员初始化器
初始化歧义
初始化、类型推导与现代语法 · 常见陷阱
初始化顺序
构造、析构与对象初始化 · 基类与成员初始化顺序
初始化顺序
构造、析构与对象初始化 · 常见陷阱
存储期
构造、析构与对象初始化 · 对象生命周期的开始与结束
错误处理
从 C 进入现代 C++ · 错误表达方式概览
错误迁移
从 C 进入现代 C++ · 常见陷阱
底层 const
引用、const、值类别与生命周期 · const 正确性
底层类型
函数重载、名字空间、强类型枚举与别名 · enum class 与底层类型
调用点
函数重载、名字空间、强类型枚举与别名 · 默认实参
顶层 const
初始化、类型推导与现代语法 · auto 占位类型推导
顶层 const
引用、const、值类别与生命周期 · const 正确性
定义
函数重载、名字空间、强类型枚举与别名 · inline 与单一定义规则
独立状态
复制、移动与特殊成员函数规则 · 复制构造函数
独占所有权
RAII、资源所有权与智能指针 · 独占、共享与观察所有权
独占所有权
RAII、资源所有权与智能指针 · unique_ptr 的独占所有权
对象
类、对象、访问控制与封装 · 类定义与对象
对象副本
复制、移动与特殊成员函数规则 · 复制构造函数
对象构造
RAII、资源所有权与智能指针 · make_unique 与 make_shared
对象关系
类、对象、访问控制与封装 · 组合与成员对象
对象切片预览
类、对象、访问控制与封装 · 常见陷阱
对象生命周期
从 C 进入现代 C++ · 资源管理与对象生命周期
对象生命周期
构造、析构与对象初始化 · 对象生命周期的开始与结束
对象生命周期
RAII、资源所有权与智能指针 · RAII 的获取与释放合同
对象状态
从 C 进入现代 C++ · 值语义作为默认建模方式
二义性
函数重载、名字空间、强类型枚举与别名 · 重载决议与转换序列
二义性
函数重载、名字空间、强类型枚举与别名 · 常见陷阱
翻译单元
函数重载、名字空间、强类型枚举与别名 · inline 与单一定义规则
返回类型
初始化、类型推导与现代语法 · decltype(auto) 与返回类型
访问授权
类、对象、访问控制与封装 · friend 的受控访问边界
非成员函数
类、对象、访问控制与封装 · friend 的受控访问边界
非内存资源
RAII、资源所有权与智能指针 · 非内存资源的 RAII 包装
非拥有引用
RAII、资源所有权与智能指针 · weak_ptr 的非拥有观察
封装
从 C 进入现代 C++ · 类型安全与抽象边界
封装
类、对象、访问控制与封装 · 访问控制与封装
封装边界
类、对象、访问控制与封装 · friend 的受控访问边界
复制
从 C 进入现代 C++ · 值语义作为默认建模方式
复制
复制、移动与特殊成员函数规则 · 六个特殊成员函数总览
复制初始化
初始化、类型推导与现代语法 · 初始化形式地图
复制赋值
复制、移动与特殊成员函数规则 · 复制赋值运算符
复制构造
复制、移动与特殊成员函数规则 · 复制构造函数
复制消除
复制、移动与特殊成员函数规则 · 常见陷阱
公开数据
类、对象、访问控制与封装 · 常见陷阱
共享所有权
RAII、资源所有权与智能指针 · 独占、共享与观察所有权
共享所有权
RAII、资源所有权与智能指针 · shared_ptr 的共享所有权
构造表达式
初始化、类型推导与现代语法 · 类模板实参推导
构造次序
构造、析构与对象初始化 · 基类与成员初始化顺序
构造函数
构造、析构与对象初始化 · 默认、普通与复制移动构造概览
构造函数
构造、析构与对象初始化 · 默认成员初始化器
构造函数体
构造、析构与对象初始化 · 成员初始化列表
构造链
构造、析构与对象初始化 · 委托构造函数
构造失败
构造、析构与对象初始化 · 部分构造失败
构造完成
构造、析构与对象初始化 · 对象生命周期的开始与结束
观察引用
RAII、资源所有权与智能指针 · 独占、共享与观察所有权
规则零
复制、移动与特殊成员函数规则 · 规则零、三与五
规则三
复制、移动与特殊成员函数规则 · 规则零、三与五
规则五
复制、移动与特殊成员函数规则 · 规则零、三与五
过度 const
引用、const、值类别与生命周期 · 常见陷阱
过度共享
RAII、资源所有权与智能指针 · 共享环与常见陷阱
函数签名
函数重载、名字空间、强类型枚举与别名 · 重载集与函数签名
函数重载
函数重载、名字空间、强类型枚举与别名 · 重载集与函数签名
合法状态
类、对象、访问控制与封装 · 类不变量与合法状态
从 C 进入现代 C++ · 从 C 迁移的检查清单
花括号
初始化、类型推导与现代语法 · 列表初始化与窄化检查
花括号
初始化、类型推导与现代语法 · initializer_list 的重载优先级
基类
构造、析构与对象初始化 · 基类与成员初始化顺序
兼容性
从 C 进入现代 C++ · C 与 C++ 的语言边界
接口边界
函数重载、名字空间、强类型枚举与别名 · 头文件接口与链接边界
接口签名
RAII、资源所有权与智能指针 · 所有权转移与接口签名
接口设计
类、对象、访问控制与封装 · 类不变量与合法状态
接口约束
从 C 进入现代 C++ · 类型安全与抽象边界
借用
RAII、资源所有权与智能指针 · 所有权转移与接口签名
精确匹配
函数重载、名字空间、强类型枚举与别名 · 重载决议与转换序列
静态成员
类、对象、访问控制与封装 · 静态数据与静态成员函数
静态函数
类、对象、访问控制与封装 · 静态数据与静态成员函数
旧资源
复制、移动与特殊成员函数规则 · 移动赋值运算符
局部对象
引用、const、值类别与生命周期 · 悬垂引用识别
句柄
RAII、资源所有权与智能指针 · 非内存资源的 RAII 包装
具体化
引用、const、值类别与生命周期 · 临时对象具体化与生命周期延长
可观察状态
类、对象、访问控制与封装 · const 成员函数
可见性
函数重载、名字空间、强类型枚举与别名 · 默认实参
可空性
引用、const、值类别与生命周期 · 指针与引用的接口选择
控制块
RAII、资源所有权与智能指针 · shared_ptr 的共享所有权
括号
初始化、类型推导与现代语法 · decltype 的两套规则
类、对象、访问控制与封装 · 类定义与对象
类不变量
类、对象、访问控制与封装 · 类不变量与合法状态
类级状态
类、对象、访问控制与封装 · 静态数据与静态成员函数
类模板
初始化、类型推导与现代语法 · 类模板实参推导
类型安全
从 C 进入现代 C++ · 类型安全与抽象边界
类型别名
函数重载、名字空间、强类型枚举与别名 · 类型别名与别名模板
类型接口
函数重载、名字空间、强类型枚举与别名 · 类型别名与别名模板
类型推导
初始化、类型推导与现代语法 · auto 占位类型推导
类型转换
引用、const、值类别与生命周期 · std::move 只是转换
链接
函数重载、名字空间、强类型枚举与别名 · 头文件接口与链接边界
列表初始化
初始化、类型推导与现代语法 · 初始化形式地图
列表初始化
初始化、类型推导与现代语法 · 列表初始化与窄化检查
临时对象
引用、const、值类别与生命周期 · 临时对象具体化与生命周期延长
零初始化
初始化、类型推导与现代语法 · 默认初始化与值初始化
零开销抽象
从 C 进入现代 C++ · 零开销抽象的含义
裸资源
从 C 进入现代 C++ · 从 C 迁移的检查清单
名称查找
函数重载、名字空间、强类型枚举与别名 · 名字空间与名称查找
名称冲突
函数重载、名字空间、强类型枚举与别名 · using 声明与 using 指令
名字空间
函数重载、名字空间、强类型枚举与别名 · 名字空间与名称查找
模板推导
初始化、类型推导与现代语法 · 模板推导规则预览
模板推导
引用、const、值类别与生命周期 · 转发引用预览
默认成员初始化器
构造、析构与对象初始化 · 默认成员初始化器
默认初始化
初始化、类型推导与现代语法 · 默认初始化与值初始化
默认访问
类、对象、访问控制与封装 · class 与 struct 的默认访问
默认构造
构造、析构与对象初始化 · 默认、普通与复制移动构造概览
默认构造
复制、移动与特殊成员函数规则 · 六个特殊成员函数总览
默认继承
类、对象、访问控制与封装 · class 与 struct 的默认访问
默认实参
函数重载、名字空间、强类型枚举与别名 · 默认实参
目标构造函数
构造、析构与对象初始化 · 委托构造函数
内存泄漏
RAII、资源所有权与智能指针 · 共享环与常见陷阱
内联
从 C 进入现代 C++ · 零开销抽象的含义
普通构造
构造、析构与对象初始化 · 默认、普通与复制移动构造概览
迁移边界
从 C 进入现代 C++ · C 与 C++ 的语言边界
迁移清单
从 C 进入现代 C++ · 从 C 迁移的检查清单
浅复制
复制、移动与特殊成员函数规则 · 常见陷阱
强保证
复制、移动与特殊成员函数规则 · 复制赋值运算符
强类型枚举
函数重载、名字空间、强类型枚举与别名 · enum class 与底层类型
全局 using
函数重载、名字空间、强类型枚举与别名 · 常见陷阱
确定性清理
从 C 进入现代 C++ · 资源管理与对象生命周期
容器
从 C 进入现代 C++ · 标准库优先的默认实践
容器
复制、移动与特殊成员函数规则 · noexcept 移动与容器选择
深复制
复制、移动与特殊成员函数规则 · 复制构造函数
生存期
引用、const、值类别与生命周期 · 悬垂引用识别
生命周期错误
引用、const、值类别与生命周期 · 常见陷阱
生命周期结束
构造、析构与对象初始化 · 析构函数合同
生命周期延长
引用、const、值类别与生命周期 · 临时对象具体化与生命周期延长
声明
函数重载、名字空间、强类型枚举与别名 · 默认实参
声明
函数重载、名字空间、强类型枚举与别名 · 头文件接口与链接边界
声明类型
初始化、类型推导与现代语法 · decltype 的两套规则
失败合同
从 C 进入现代 C++ · 错误表达方式概览
实例
类、对象、访问控制与封装 · 类定义与对象
双重释放
复制、移动与特殊成员函数规则 · 常见陷阱
算法
从 C 进入现代 C++ · 标准库优先的默认实践
所有权不明
从 C 进入现代 C++ · 常见陷阱
所有权环
RAII、资源所有权与智能指针 · 共享环与常见陷阱
所有权模型
RAII、资源所有权与智能指针 · 独占、共享与观察所有权
所有权转移
RAII、资源所有权与智能指针 · 所有权转移与接口签名
RAII、资源所有权与智能指针 · 非内存资源的 RAII 包装
特殊成员
构造、析构与对象初始化 · 默认、普通与复制移动构造概览
特殊成员
复制、移动与特殊成员函数规则 · 六个特殊成员函数总览
体内赋值
构造、析构与对象初始化 · 常见陷阱
头文件
函数重载、名字空间、强类型枚举与别名 · 头文件接口与链接边界
推导指引
初始化、类型推导与现代语法 · 类模板实参推导
完美转发
引用、const、值类别与生命周期 · 转发引用预览
完整表达式
引用、const、值类别与生命周期 · 临时对象具体化与生命周期延长
委托构造
构造、析构与对象初始化 · 委托构造函数
未初始化成员
构造、析构与对象初始化 · 常见陷阱
未定义行为
从 C 进入现代 C++ · 常见陷阱
未定义行为
引用、const、值类别与生命周期 · 悬垂引用识别
未确定值
初始化、类型推导与现代语法 · 默认初始化与值初始化
析构
从 C 进入现代 C++ · 资源管理与对象生命周期
析构函数
构造、析构与对象初始化 · 析构函数合同
析构完成
构造、析构与对象初始化 · 对象生命周期的开始与结束
析构异常
构造、析构与对象初始化 · 常见陷阱
限定名称
函数重载、名字空间、强类型枚举与别名 · 名字空间与名称查找
悬垂引用
初始化、类型推导与现代语法 · 常见陷阱
悬垂引用
引用、const、值类别与生命周期 · 悬垂引用识别
验证
类、对象、访问控制与封装 · 类不变量与合法状态
移动
从 C 进入现代 C++ · 值语义作为默认建模方式
移动
复制、移动与特殊成员函数规则 · 六个特殊成员函数总览
移动
RAII、资源所有权与智能指针 · unique_ptr 的独占所有权
移动赋值
复制、移动与特殊成员函数规则 · 移动赋值运算符
移动构造
复制、移动与特殊成员函数规则 · 移动构造函数
移动构造
复制、移动与特殊成员函数规则 · noexcept 移动与容器选择
移动后误用
复制、移动与特殊成员函数规则 · 常见陷阱
移动后状态
引用、const、值类别与生命周期 · 常见陷阱
移动语义
引用、const、值类别与生命周期 · std::move 只是转换
异常
从 C 进入现代 C++ · 错误表达方式概览
异常安全
构造、析构与对象初始化 · 部分构造失败
异常安全
复制、移动与特殊成员函数规则 · copy-and-swap 与有效状态
异常安全
RAII、资源所有权与智能指针 · make_unique 与 make_shared
异常保证
复制、移动与特殊成员函数规则 · noexcept 移动与容器选择
抑制
复制、移动与特殊成员函数规则 · 隐式生成、抑制与删除
意外推导
初始化、类型推导与现代语法 · 常见陷阱
引用
引用、const、值类别与生命周期 · 指针与引用的接口选择
引用保留
初始化、类型推导与现代语法 · decltype(auto) 与返回类型
引用计数
RAII、资源所有权与智能指针 · shared_ptr 的共享所有权
引用失效
引用、const、值类别与生命周期 · 常见陷阱
引用推导
初始化、类型推导与现代语法 · 模板推导规则预览
引用折叠
引用、const、值类别与生命周期 · 转发引用预览
隐式对象
类、对象、访问控制与封装 · 成员函数与 this
隐式生成
复制、移动与特殊成员函数规则 · 隐式生成、抑制与删除
隐式转换
函数重载、名字空间、强类型枚举与别名 · 常见陷阱
隐式转换
构造、析构与对象初始化 · 转换构造与 explicit
优化
从 C 进入现代 C++ · 零开销抽象的含义
优先级
初始化、类型推导与现代语法 · initializer_list 的重载优先级
有效状态
复制、移动与特殊成员函数规则 · 移动构造函数
有效状态
复制、移动与特殊成员函数规则 · 移动赋值运算符
有效状态
复制、移动与特殊成员函数规则 · copy-and-swap 与有效状态
右值
引用、const、值类别与生命周期 · 右值引用绑定
右值
复制、移动与特殊成员函数规则 · 移动构造函数
右值引用
引用、const、值类别与生命周期 · 右值引用绑定
语言模式
从 C 进入现代 C++ · C 与 C++ 的语言边界
源文件
从 C 进入现代 C++ · 源文件、语言模式与工具链
窄化
初始化、类型推导与现代语法 · 列表初始化与窄化检查
窄化
初始化、类型推导与现代语法 · 常见陷阱
占位符
初始化、类型推导与现代语法 · 模板推导规则预览
占位类型
初始化、类型推导与现代语法 · auto 占位类型推导
栈展开
构造、析构与对象初始化 · 部分构造失败
诊断
初始化、类型推导与现代语法 · 列表初始化与窄化检查
诊断选项
从 C 进入现代 C++ · 源文件、语言模式与工具链
直接初始化
初始化、类型推导与现代语法 · 初始化形式地图
直接初始化
构造、析构与对象初始化 · 成员初始化列表
直接初始化
构造、析构与对象初始化 · 转换构造与 explicit
值初始化
初始化、类型推导与现代语法 · 默认初始化与值初始化
值类别
初始化、类型推导与现代语法 · decltype(auto) 与返回类型
值类别
引用、const、值类别与生命周期 · glvalue、prvalue、xvalue 地图
值语义
从 C 进入现代 C++ · 值语义作为默认建模方式
只读对象
类、对象、访问控制与封装 · const 成员函数
只读接口
引用、const、值类别与生命周期 · const 正确性
指针
引用、const、值类别与生命周期 · 指针与引用的接口选择
重绑定
引用、const、值类别与生命周期 · 指针与引用的接口选择
重载
初始化、类型推导与现代语法 · initializer_list 的重载优先级
重载
类、对象、访问控制与封装 · const 成员函数
重载集
函数重载、名字空间、强类型枚举与别名 · 重载集与函数签名
重载决议
函数重载、名字空间、强类型枚举与别名 · 重载决议与转换序列
转发引用
引用、const、值类别与生命周期 · 转发引用预览
转换构造
构造、析构与对象初始化 · 转换构造与 explicit
转换序列
函数重载、名字空间、强类型枚举与别名 · 重载决议与转换序列
状态值
从 C 进入现代 C++ · 错误表达方式概览
资源管理
从 C 进入现代 C++ · 资源管理与对象生命周期
资源获取
RAII、资源所有权与智能指针 · RAII 的获取与释放合同
资源接管
复制、移动与特殊成员函数规则 · 移动赋值运算符
资源释放
构造、析构与对象初始化 · 析构函数合同
资源释放
RAII、资源所有权与智能指针 · RAII 的获取与释放合同
资源释放
RAII、资源所有权与智能指针 · 自定义删除器
资源所有权
复制、移动与特殊成员函数规则 · 规则零、三与五
资源替换
复制、移动与特殊成员函数规则 · 复制赋值运算符
资源转移
引用、const、值类别与生命周期 · 右值引用绑定
资源转移
复制、移动与特殊成员函数规则 · 移动构造函数
子对象
构造、析构与对象初始化 · 部分构造失败
字符串
从 C 进入现代 C++ · 标准库优先的默认实践
自定义删除器
RAII、资源所有权与智能指针 · 自定义删除器
自动释放
RAII、资源所有权与智能指针 · unique_ptr 的独占所有权
自赋值
复制、移动与特殊成员函数规则 · 复制赋值运算符
组合
类、对象、访问控制与封装 · 组合与成员对象
左值
引用、const、值类别与生命周期 · 左值引用绑定
左值引用
引用、const、值类别与生命周期 · 左值引用绑定
作用域
函数重载、名字空间、强类型枚举与别名 · 名字空间与名称查找
作用域
函数重载、名字空间、强类型枚举与别名 · using 声明与 using 指令
作用域枚举项
函数重载、名字空间、强类型枚举与别名 · enum class 与底层类型
作用域守卫
RAII、资源所有权与智能指针 · 非内存资源的 RAII 包装
access control
类、对象、访问控制与封装 · 访问控制与封装
alias declaration
函数重载、名字空间、强类型枚举与别名 · 类型别名与别名模板
auto
初始化、类型推导与现代语法 · auto 占位类型推导
auto deduction
初始化、类型推导与现代语法 · auto 占位类型推导
brace initialization
初始化、类型推导与现代语法 · 列表初始化与窄化检查
C 风格习惯
从 C 进入现代 C++ · 常见陷阱
C 数组
从 C 进入现代 C++ · 从 C 迁移的检查清单
C 与 C++
从 C 进入现代 C++ · C 与 C++ 的语言边界
C migration checklist
从 C 进入现代 C++ · 从 C 迁移的检查清单
C/C++ boundary
从 C 进入现代 C++ · C 与 C++ 的语言边界
C++23
从 C 进入现代 C++ · 源文件、语言模式与工具链
class
类、对象、访问控制与封装 · class 与 struct 的默认访问
class and object
类、对象、访问控制与封装 · 类定义与对象
class invariant
类、对象、访问控制与封装 · 类不变量与合法状态
class pitfalls
类、对象、访问控制与封装 · 常见陷阱
class template deduction
初始化、类型推导与现代语法 · 类模板实参推导
class versus struct
类、对象、访问控制与封装 · class 与 struct 的默认访问
const
引用、const、值类别与生命周期 · const 正确性
const 成员
类、对象、访问控制与封装 · const 成员函数
const 引用
引用、const、值类别与生命周期 · 左值引用绑定
const correctness
引用、const、值类别与生命周期 · const 正确性
const member function
类、对象、访问控制与封装 · const 成员函数
construction order
构造、析构与对象初始化 · 基类与成员初始化顺序
construction pitfalls
构造、析构与对象初始化 · 常见陷阱
constructor kinds
构造、析构与对象初始化 · 默认、普通与复制移动构造概览
copy and swap
复制、移动与特殊成员函数规则 · copy-and-swap 与有效状态
copy assignment
复制、移动与特殊成员函数规则 · 复制赋值运算符
copy construction
复制、移动与特殊成员函数规则 · 复制构造函数
copy-and-swap
复制、移动与特殊成员函数规则 · copy-and-swap 与有效状态
copy-move pitfalls
复制、移动与特殊成员函数规则 · 常见陷阱
CTAD
初始化、类型推导与现代语法 · 类模板实参推导
custom deleter
RAII、资源所有权与智能指针 · 自定义删除器
dangling reference
引用、const、值类别与生命周期 · 悬垂引用识别
decltype
初始化、类型推导与现代语法 · decltype 的两套规则
decltype auto
初始化、类型推导与现代语法 · decltype(auto) 与返回类型
decltype rules
初始化、类型推导与现代语法 · decltype 的两套规则
decltype(auto)
初始化、类型推导与现代语法 · decltype(auto) 与返回类型
deduction pitfalls
初始化、类型推导与现代语法 · 常见陷阱
deduction preview
初始化、类型推导与现代语法 · 模板推导规则预览
default arguments
函数重载、名字空间、强类型枚举与别名 · 默认实参
default versus value init
初始化、类型推导与现代语法 · 默认初始化与值初始化
delegating constructor
构造、析构与对象初始化 · 委托构造函数
deleted
复制、移动与特殊成员函数规则 · 隐式生成、抑制与删除
destructor contract
构造、析构与对象初始化 · 析构函数合同
enum class
函数重载、名字空间、强类型枚举与别名 · enum class 与底层类型
error model
从 C 进入现代 C++ · 错误表达方式概览
expired
RAII、资源所有权与智能指针 · weak_ptr 的非拥有观察
explicit
构造、析构与对象初始化 · 转换构造与 explicit
explicit constructor
构造、析构与对象初始化 · 转换构造与 explicit
failed construction
构造、析构与对象初始化 · 部分构造失败
forwarding reference
引用、const、值类别与生命周期 · 转发引用预览
friend
类、对象、访问控制与封装 · friend 的受控访问边界
friend 滥用
类、对象、访问控制与封装 · 常见陷阱
friend access
类、对象、访问控制与封装 · friend 的受控访问边界
glvalue
引用、const、值类别与生命周期 · glvalue、prvalue、xvalue 地图
has-a
类、对象、访问控制与封装 · 组合与成员对象
header interface
函数重载、名字空间、强类型枚举与别名 · 头文件接口与链接边界
implicit object
类、对象、访问控制与封装 · 成员函数与 this
implicit special members
复制、移动与特殊成员函数规则 · 隐式生成、抑制与删除
in-class initializer
构造、析构与对象初始化 · 默认成员初始化器
initialization forms
初始化、类型推导与现代语法 · 初始化形式地图
initializer_list
初始化、类型推导与现代语法 · initializer_list 的重载优先级
initializer-list preference
初始化、类型推导与现代语法 · initializer_list 的重载优先级
inline
函数重载、名字空间、强类型枚举与别名 · inline 与单一定义规则
inline static
类、对象、访问控制与封装 · 静态数据与静态成员函数
interface pitfalls
函数重载、名字空间、强类型枚举与别名 · 常见陷阱
language mode
从 C 进入现代 C++ · 源文件、语言模式与工具链
library-first C++
从 C 进入现代 C++ · 标准库优先的默认实践
lifetime management
从 C 进入现代 C++ · 资源管理与对象生命周期
lock
RAII、资源所有权与智能指针 · weak_ptr 的非拥有观察
lvalue references
引用、const、值类别与生命周期 · 左值引用绑定
make_shared
RAII、资源所有权与智能指针 · make_unique 与 make_shared
make_unique
RAII、资源所有权与智能指针 · make_unique 与 make_shared
member initializer
构造、析构与对象初始化 · 成员初始化列表
migration pitfalls
从 C 进入现代 C++ · 常见陷阱
move assignment
复制、移动与特殊成员函数规则 · 移动赋值运算符
move cast
引用、const、值类别与生命周期 · std::move 只是转换
move construction
复制、移动与特殊成员函数规则 · 移动构造函数
namespace lookup
函数重载、名字空间、强类型枚举与别名 · 名字空间与名称查找
noexcept
构造、析构与对象初始化 · 析构函数合同
noexcept
复制、移动与特殊成员函数规则 · noexcept 移动与容器选择
noexcept move
复制、移动与特殊成员函数规则 · noexcept 移动与容器选择
object composition
类、对象、访问控制与封装 · 组合与成员对象
object lifetime boundary
构造、析构与对象初始化 · 对象生命周期的开始与结束
ODR
函数重载、名字空间、强类型枚举与别名 · inline 与单一定义规则
ODR 违规
函数重载、名字空间、强类型枚举与别名 · 常见陷阱
one definition rule
函数重载、名字空间、强类型枚举与别名 · inline 与单一定义规则
overload resolution
函数重载、名字空间、强类型枚举与别名 · 重载决议与转换序列
overload set
函数重载、名字空间、强类型枚举与别名 · 重载集与函数签名
ownership model
RAII、资源所有权与智能指针 · 独占、共享与观察所有权
ownership transfer
RAII、资源所有权与智能指针 · 所有权转移与接口签名
pointer or reference
引用、const、值类别与生命周期 · 指针与引用的接口选择
private
类、对象、访问控制与封装 · 访问控制与封装
protected
类、对象、访问控制与封装 · 访问控制与封装
prvalue
引用、const、值类别与生命周期 · glvalue、prvalue、xvalue 地图
public
类、对象、访问控制与封装 · 访问控制与封装
RAII
RAII、资源所有权与智能指针 · RAII 的获取与释放合同
RAII wrapper
RAII、资源所有权与智能指针 · 非内存资源的 RAII 包装
reference pitfalls
引用、const、值类别与生命周期 · 常见陷阱
resource acquisition is initialization
RAII、资源所有权与智能指针 · RAII 的获取与释放合同
rule of zero
复制、移动与特殊成员函数规则 · 规则零、三与五
rvalue references
引用、const、值类别与生命周期 · 右值引用绑定
scoped enumeration
函数重载、名字空间、强类型枚举与别名 · enum class 与底层类型
shared ownership
RAII、资源所有权与智能指针 · shared_ptr 的共享所有权
shared ownership pitfalls
RAII、资源所有权与智能指针 · 共享环与常见陷阱
shared_ptr
RAII、资源所有权与智能指针 · shared_ptr 的共享所有权
shared_ptr
RAII、资源所有权与智能指针 · 自定义删除器
smart pointer factories
RAII、资源所有权与智能指针 · make_unique 与 make_shared
special members
复制、移动与特殊成员函数规则 · 六个特殊成员函数总览
static class member
类、对象、访问控制与封装 · 静态数据与静态成员函数
std::move
引用、const、值类别与生命周期 · std::move 只是转换
struct
类、对象、访问控制与封装 · class 与 struct 的默认访问
swap
复制、移动与特殊成员函数规则 · copy-and-swap 与有效状态
temporary lifetime
引用、const、值类别与生命周期 · 临时对象具体化与生命周期延长
this
类、对象、访问控制与封装 · 成员函数与 this
type-safe abstraction
从 C 进入现代 C++ · 类型安全与抽象边界
unique ownership
RAII、资源所有权与智能指针 · unique_ptr 的独占所有权
unique_ptr
RAII、资源所有权与智能指针 · unique_ptr 的独占所有权
unique_ptr
RAII、资源所有权与智能指针 · 自定义删除器
using
函数重载、名字空间、强类型枚举与别名 · 类型别名与别名模板
using 声明
函数重载、名字空间、强类型枚举与别名 · using 声明与 using 指令
using 指令
函数重载、名字空间、强类型枚举与别名 · using 声明与 using 指令
using forms
函数重载、名字空间、强类型枚举与别名 · using 声明与 using 指令
value categories
引用、const、值类别与生命周期 · glvalue、prvalue、xvalue 地图
value semantics
从 C 进入现代 C++ · 值语义作为默认建模方式
weak observation
RAII、资源所有权与智能指针 · weak_ptr 的非拥有观察
weak_ptr
RAII、资源所有权与智能指针 · weak_ptr 的非拥有观察
weak_ptr
RAII、资源所有权与智能指针 · 共享环与常见陷阱
xvalue
引用、const、值类别与生命周期 · glvalue、prvalue、xvalue 地图
xvalue
引用、const、值类别与生命周期 · 右值引用绑定
xvalue
引用、const、值类别与生命周期 · std::move 只是转换
zero-overhead principle
从 C 进入现代 C++ · 零开销抽象的含义