一张图搞懂虚函数表原理

Posted 隐无影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一张图搞懂虚函数表原理相关的知识,希望对你有一定的参考价值。

 众所周知,一个含有虚函数表的子类对象的首地址为指向虚函数表的虚函数指针的地址

比如是一个vptr指针指向虚函数表,有一个含有虚函数表的子类对象

(int *)&b,取4个字节,其实该地址是&vptr指针,而虚函数表的地址(vptr指针所指向的地址)

(int *) *((int *)(&b))才是虚函数表真正的地址(也是保存第一个函数的地址的地址)

(函数类型)*((int *) *(int *)(&b));这就是函数地址了

以上是关于一张图搞懂虚函数表原理的主要内容,如果未能解决你的问题,请参考以下文章

一张图搞懂MySQL的索引失效

一张图搞懂Spring bean的完整生命周期

一张图搞懂Android中分辨率,DPI,DP与PX的关系

一张图搞懂Android中分辨率,DPI,DP与PX的关系

一张图搞懂华为接口类型!

一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)