gpt4 book ai didi

c++ - 为什么虚拟表很重要?

转载 作者:搜寻专家 更新时间:2023-10-31 00:13:18 24 4
gpt4 key购买 nike

为了实现动态绑定(bind),对于每个类,都有一个虚拟表来存储每个函数的地址。为什么需要这种间接?我们可以让类直接将 ptr 存储到正确的函数吗?

最佳答案

您实际上可以这样做。然后,每个多态类每个实例 都需要将其整个虚拟表存储为对象的一部分。对于具有大量虚方法的类,这将是一个显着的内存开销。不能保证它甚至会更快,因为您可以通过存储如此多的冗余数据来减少缓存位置。

关于c++ - 为什么虚拟表很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27389660/

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