虚函数表放在内存中的什么地方

发布网友 发布时间:2022-04-22 04:31

我来回答

1个回答

热心网友 时间:2024-02-04 20:44

继承于虚基类的派生类中,虚基类的对象subobject不在固定位置(一般在内存的尾部),需要一个中介才能访问这个subobject,通常的做法是在子类对象中保留一个虚基表指针vbptr指向虚基表,通过虚基表来访问虚基类subobject。虚基表里面放什么信息要看不同的编译器厂商的实现方法,以Microsoft为例,虚基表存放的是subobject相对于vbptr的偏移量,vbptr相对于派生类对象的偏移量加上subobject相对于vbptr的偏移量就等于subobject在整个派生类的偏移量。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com