C++ 中多重继承虚继承(virtual inheritance)中 **vbptr** 和 **vbtable** 的实现机制、存储位置和工作原理
1.虚继承1.1.背景及概念虚继承(virtualinheritance)用于解决多重继承中“菱形继承”导致的基类多份副本问题。为支持虚继承,编译器生成额外的数据结构,主要有:vbptr(virtualbasepointer):虚基指针,存储在虚继承子类对象中,指向对应的vbtable。vbtable(virtualbasetable):虚基表,存储虚基类相对于派生类对象的偏移信息等。1.2.vb