基础点

  • 指针、引用、数组、内存
  • 引用和指针的区别
  • 虚机制:虚函数、虚函数表、纯虚函数
  • 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)、对象模型
  • C++ 部分新特性,比如右值引用、完美转发等

    第一阶段

  • 《C++ Primer》:基础、标准库、类设计者的工具

    第二阶段

  • 《Effective C++》

  • 《More Effective C++》
  • 《Effective STL》

    第三阶段

  • 《STL 源码剖析》

  • 《深度探索 C++ 对象模型》
  • 《C++ 内存管理》
  • 《STL 源码分析》
  • 《C++ STL 与泛型编程高级》
  • 《C++ 11 新特性》
  • 《现代C++ 教程》

    第四阶段

  • 《C++ 语言的设计与演化》

  • CppCon 视频

    常用库