基础点
- 指针、引用、数组、内存
- 引用和指针的区别
- 虚机制:虚函数、虚函数表、纯虚函数
- C 和 C++ 的一些区别,比如 new、delete 和 malloc、free 的区别
- 一些关键字的作用:static、const、volatile、extern
- 四种类型转换:static_cast, dynamic_cast, const_cast, reinterpret_cast
- STL 部分容器的实现原理,如 vector, duque, map, hashmap
- 模板特化、偏特化,萃取 traits 技巧
- 继承、虚继承、菱形继承等
- 多态:动态绑定,静态绑定
- 重写、重载
- 智能指针原理:引用计数、RAII (资源获取即初始化)思想
- 智能指针使用:shared_ptr, weak_ptr, unique_ptr
- 编译链接机制、内存布局(memory layout)、对象模型
-
书
第一阶段
-
第二阶段
《Effective C++》
- 《More Effective C++》
-
第三阶段
《STL 源码剖析》
- 《深度探索 C++ 对象模型》
- 《C++ 内存管理》
- 《STL 源码分析》
- 《C++ STL 与泛型编程高级》
- 《C++ 11 新特性》
-
第四阶段
《C++ 语言的设计与演化》
- CppCon 视频
常用库