关于类的内存问题

xiaoxiao2021-02-28  15

在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 在调用类中的虚函数时(如64位程序调用第二个虚函数): 类的指针为Classptr,则会先取__vfptr=*(_QWORD *)Classptr (即取Classptr的前8个字节为虚函数表的地址),在虚函数表中,每8个字节存放一个虚函数的地址,故取第二个虚函数的地址为__vfptr+8 关于更多的类的内存问题参考: http://www.cnblogs.com/bizhu/archive/2012/09/25/2701691.html

转载请注明原文地址: https://www.6miu.com/read-2050262.html

最新回复(0)