参考:https://en.cppreference.com/w/cpp/language.html
- 基础概念:包含注释、标点、标识符命名、基础类型、对象生命周期等内容。
- 关键字与预处理:涉及
#if、#define、#include等预处理指令,还有 C++ 的关键字相关知识。 - 表达式:涵盖值类别、求值顺序、常量表达式、各类操作(如递增递减、逻辑比较等)、类型转换、字面量等。
- 声明:包括冲突声明、存储期与链接、命名空间声明、引用、指针、数组、枚举等内容。
- 函数:涉及函数声明、默认参数、可变参数、Lambda 表达式、重载解析等。
- 语句:有
if - switch、范围for、while - do - while等循环,还有goto、return等跳转语句,以及contract_violation等相关内容。 - 类(Classes):包含类类型、联合类型、数据成员、位域、静态成员、成员函数、嵌套类、构造函数、析构函数、虚函数、抽象类等面向对象相关的核心概念。
- 模板(Templates):涉及模板参数、类模板、函数模板、可变模板等模板编程相关知识。
- 异常(Exceptions):包含
try块、异常抛出与处理、异常规范等。 - 其他(Miscellaneous):有 C++ 的历史、扩展命名空间
std、各种缩写(如 NTSB、AEO 等)。 - 习语(Idioms):包括奇异递归模板模式(CRTP)、指向实现的指针(Pimpl)、资源获取即初始化(RAII)等常用编程习语。