Jebearssica's Blog

Virtual Pointer & Virtual Table

vptr 与 vtbl 只要当基类中存在一个虚函数, 该类就会生成一个虚指针. 因此你在计算一个类的大小时, 会发现比所有类其中的数据大小之和多一个指针的大小( 32位系统是 4 字节, 64位则是 8 字节 ). 该指针与所有的虚函数相关联, 与非虚函数无关. vptr 指向的记录了虚函数的信息的表格, 就叫做虚表格 vtbl. 该表格内存放了该类中的所有虚函数指针( 指向函数的指针,...