gpt4 book ai didi

c++ - Virtual destructor和Vtable之间有什么关系吗

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:14:38 25 4
gpt4 key购买 nike

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

最佳答案

是的。当通过基类指针删除对象时,需要一些信息来允许调用正确的析构函数。该信息是小整数索引还是指针并不重要(尽管动态链接可能暗示它是一个指针)。自然地,该信息需要与指向的对象相邻(在内部)。

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

关于c++ - Virtual destructor和Vtable之间有什么关系吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1436617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com