每个包含一个或多个虚拟函数的类都具有与其关联的Vtable。称为vptr的空指针指向该vtable。该类的每个对象都包含指向同一Vtable的vptr。那么vptr为什么不是静态的?与其将vptr与该对象相关联,为什么不将其与该类相关联?

最佳答案

对象的运行时类是对象本身的属性。实际上,vptr表示运行时类,因此不能是static。但是,它指向的内容可以由同一运行时类的所有实例共享。

10-06 07:56