gpt4 book ai didi

c++ - 什么时候为类创建 v 表?

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

我知道,如何实现虚函数调用解析不是 C++ 标准的一部分,也没有提及 vptr 或 v-table,但让我在这里问这个问题。

我听说 v-table 是编译器用来实现虚函数调用解析的常用技术。我对此的理解是,每个类、每个进程只需要一个虚拟表。

我想知道的是,什么时候为类创建 v 表?
是第一次在进程空间中创建给定类型(需要v表)的类吗?
该进程空间中该类型的所有其他随后创建的对象,指的是已经创建的 v 表?
这个 v-table 什么时候会被删除?

如果这个问题过于主观或讨论类型,我很抱歉,但这些问题在我脑海中徘徊了一段时间,我觉得在这里问是可以的。

最佳答案

v表是静态分配的,永远不会被删除,也不是显式分配的。任何给定特定对象中的指针都是常量。

关于c++ - 什么时候为类创建 v 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239336/

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