Virtual析构函数和Vtable之间是否存在任何关系

Xin*_*nus 1 c++ virtual vtable

如果我们编写虚函数,它会在该类的对象中添加一个vtable.虚拟析构函数也是如此吗?vtable用于实现析构函数的虚拟性

Jon*_*ehl 5

是.当通过基类指针删除对象时,需要一些信息来允许调用正确的析构函数.该信息是小整数索引还是指针无关紧要(尽管动态链接可能意味着它是一个指针).当然,该信息需要与指向对象相邻(内部).

将任何类型的虚拟方法(包括析构函数)添加到之前没有的类,都会增加sizeof(class).