随着知识点越来越多,记忆难免会混乱、遗忘,一个好的知识点总结能有效帮助回忆。
1.⭐⭐⭐虚函数¶
- 虚表指针vptr:数量,大小,产生时机,类型
- 虚表vtbl:和类对应的关系,数量,位置,存储内容(类型,RTTI,函数指针)
- 虚基表:虚基表指针,虚表内存模型改变,偏移量,多份
- 虚继承内存排布
- (了解)菱形继承内存模型
- 析构为什么需要虚函数
- 构造虚函数调用情况:存储角度、实用角度,调用后的情况
- 子类有多个虚表?
- 虚函数非动态绑定机制
- 虚函数能否内联:编译时,运行时
- 基类如何调用派生类的函数?:虚表构建
- 派生类为什么不能调用基类?
2.⭐⭐⭐ 智能指针¶
- 深拷贝、浅拷贝、野指针
- 四大智能指针以及作用原理
- RAII设计思想
- shared_ptr循环引用解决:weak,鸵鸟策略,以及(啥来着突然忘了)..
- (进阶)unique_ptr实现,shared_ptr 实现
- (了解)智能指针发展历程
- (补充)其他库的智能指针,比如chrono库的计时指针...
- (补充)一个引擎如何将智能指针改成自己的指针:别名功能,符号重构