码迷,mamicode.com
首页 > 其他好文 > 详细

对象模型(Object-Model):关于vptr、vtbl

时间:2019-10-19 13:10:30      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:机制   绑定   关于   mod   多重   http   函数指针   多重继承   虚函数表   

当一个类本身定义了虚函数,或其父类有虚函数时,为了支持多态机制,编译器将为该类添加一个虚函数指针(vptr)。虚函数指针一般都放在对象内存布局的第一个位置上,这是为了保证在多层继承或多重继承的情况下能以最高效率取到虚函数表。当vprt位于对象内存最前面时,对象的地址即为虚函数指针地址。

发生动态绑定时,编译器根据虚指针找到相应的虚函数来执行:

 技术图片

 

对象模型(Object-Model):关于vptr、vtbl

标签:机制   绑定   关于   mod   多重   http   函数指针   多重继承   虚函数表   

原文地址:https://www.cnblogs.com/vlyf/p/11703412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!