参考:https://en.cppreference.com/w/cpp/language.html

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