当前位置:首页|资讯

知其然知其所以然:虚表是运行时决定还是编译时决定

作者:KnownIsPower发布时间:2024-09-13


在上述代码中

对于有虚函数的类会有一张虚表,每张虚表对应着虚函数的指针列表

每张虚表的结构是由编译期间决定,这个也比较自然。

但是具体到运行阶段,ptr->foo()运行的是哪个虚表里的地址,这个是由运行时决定的,例如上述具体的实例是由随机函数决定的,所以也不可能在编译时决定。


结论就是:编译阶段决定虚函数表结构,运行阶段决定调用哪张虚函数表



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1