太好了!你想要“极限复习 C++”,那我就给你安排一套“硬核速通 + 高频面试 + 知识回炉”的复习清单,适合以下几类情况:
- 🧠 短时间内复盘 C++ 核心知识
- 💼 准备笔试、面试或机试
- 👨💻 快速回忆工程实践常用的语言特性
💥【极限复习 C++ 全面提纲】
用最短时间,复习最多 C++ 重点!
🚩 一、语法基础(必要回炉)
✅ 数据类型与变量
- 基本类型(int、float、bool、char)
- 枚举(enum class 更推荐)
- 类型转换(static_cast / reinterpret_cast 等)
✅ 控制结构
- if / else、switch
- while / do-while / for
- break / continue / goto(了解)
✅ 函数与作用域
- 函数定义、参数传递(值/引用/指针)
- 函数重载
- 默认参数、内联函数
- 命名空间与
::
作用域解析
🚩 二、面向对象(核心)
✅ 类与对象
- 类定义、对象实例化
- 成员变量/成员函数
- 访问权限:public/private/protected
- const 成员函数、mutable 成员变量
✅ 构造函数与析构函数
- 默认构造、拷贝构造、移动构造
- 初始化列表
- 析构函数作用
✅ this 指针 & static
- 静态成员变量和函数
- this 的使用与链式调用
✅ 继承与多态
- 单继承、多继承(了解菱形继承)
- 虚函数、纯虚函数
- 虚函数表(vtable)机制
- RTTI(
typeid
与dynamic_cast
)
🚩 三、内存管理(常考)
✅ new / delete vs malloc / free
- 调用构造/析构 vs 不调用
- 类型安全 vs void*
✅ 智能指针
std::unique_ptr
、std::shared_ptr
- 循环引用问题(
weak_ptr
) - 使用
make_shared
最佳实践
✅ 深拷贝 vs 浅拷贝
- 拷贝构造、赋值运算符重载
- Rule of Three / Five / Zero
🚩 四、C++ STL 快速掌握
✅ 容器
vector
,list
,deque
,map
,set
,unordered_map
- 常用操作(insert, erase, find)
- 迭代器与范围 for 循环
✅ 算法
std::sort
,std::find
,std::for_each
- 自定义比较器(lambda)
✅ 适配器与功能类
- stack、queue、priority_queue
- function、bind、lambda
🚩 五、函数式编程与现代特性(C++11/14/17/20)
✅ Lambda 表达式
- 捕获列表
[&]
,[=]
- 可用于 sort、for_each
✅ auto 与 decltype
- 自动类型推断
decltype(auto)
推导表达式类型
✅ range-based for
- 结合容器简化遍历代码
✅ nullptr / override / final
- 替代 NULL,防止隐式转换
- 显式控制虚函数重写
✅ 模板(重点理解)
- 函数模板、类模板
- 模板特化
- typename vs class
🚩 六、异常处理(必要了解)
try {
// code
} catch (const std::exception& e) {
std::cerr << e.what();
}
- 标准异常体系(logic_error / runtime_error)
- 自定义异常类
- noexcept 说明符
🚩 七、输入输出 & 文件流
std::cin >> x;
std::getline(std::cin, str);
std::ofstream fout("out.txt");
fout << "Hello";
std::ifstream fin("in.txt");
std::string line;
getline(fin, line);
🚩 八、多线程与并发(C++11+)
✅ 线程库
std::thread
创建线程- join / detach
✅ 锁与原子操作
std::mutex
,std::lock_guard
std::atomic<T>
🚩 九、底层机制与优化点
- 对象模型(对象内存布局)
- 虚函数表机制
- 内联、拷贝省略(RVO)
- 移动语义(
std::move
) - 内存池、自定义 operator new/delete
🚩 十、面试高频考点
主题 | 要点 |
---|---|
多态实现原理 | 虚函数表,vptr 指针 |
智能指针差异 | unique vs shared vs weak |
STL 源码分析 | vector 扩容机制,红黑树(map) |
内存泄漏原因 | new 没有 delete;循环引用 |
深拷贝实现 | 拷贝构造 + 赋值重载 |
线程安全 STL | 大多数 STL 容器非线程安全 |
模板编译期机制 | 模板实例化、SFINAE(了解) |
🧠 推荐复习策略
时间 | 任务 |
---|---|
第1天 | 语法基础 + 面向对象 |
第2天 | STL + 内存管理 + 模板 |
第3天 | 现代 C++ 特性 + 多线程 + 实战模拟题 |
每天20分钟 | 刷 [LeetCode C++]、牛客网、面试题精选等 |
📚 参考资料
- 《Effective C++》《More Effective C++》
- 《C++ Primer(第五版)》
- Cppreference(现代特性权威): https://en.cppreference.com
- 牛客网 C++ 面试宝典:https://www.nowcoder.com
发表回复