腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
3
回答
虚拟
关键字内部
我听说很多时候
虚拟
函数通常是使用
vtable
实现
的。但实际上我不知道它是
如何
实现
的,它是
如何
工作的。实际上我并没有得到这段代码:它是
如何
被重写的。有人能详细解释一下吗?最后,让我们看看编译器
如何
实现
对
虚拟
函数的调用。
浏览 6
提问于2010-09-11
得票数 2
回答已采纳
2
回答
对同一个对象的x调用的c++
虚拟
函数性能
、
、
、
如果我在同一个对象上调用x
虚拟
函数,编译器是否会聪明到以某种方式记住
vtable
地址,或者它会在每个x调用上挖掘地址?干杯
浏览 0
提问于2015-04-03
得票数 1
回答已采纳
2
回答
多继承过程中的对象构造与
虚拟
指针
、
、
、
、
| _vptr to class Base1
vTable
| -->this Base1
vtable
should have 2 elements.| _vptr to class Base1
vTable
| -->this Base1
vtable
should ha
浏览 2
提问于2016-02-06
得票数 0
1
回答
虚拟
表
如何
处理纯
虚拟
函数?
、
、
、
编译器是
如何
实现
纯
虚拟
函数的?具有纯
虚拟
函数的类的
vtable
是
如何
实现
的?为什么我们总是需要覆盖纯
虚拟
函数?当我们覆盖一个纯
虚拟
函数时,派生类的
vtable
会发生什么呢?
浏览 2
提问于2019-11-24
得票数 0
回答已采纳
1
回答
虚拟
继承是
如何
工作的?
、
、
、
虚拟
继承是否使用
vTable
?如果是或否,那么它是
如何
实现
的 真的很感激一个概念性的解释。
浏览 1
提问于2012-09-07
得票数 6
回答已采纳
3
回答
在这个示例中将创建多少个
vtable
和
vpointers?
、
这是
vtable
上的程序。我对
vtable
和
v指针的理解是否正确?argc, char* argv[]) D *d1 = new D(); D *d3 = new D(); } 在我看来,将有两个
vtable
和
一个vptr。
浏览 3
提问于2014-04-19
得票数 8
回答已采纳
1
回答
在多重或
虚拟
继承
和
vtable
下的类的内存布局?
、
、
、
、
我正在阅读“C++对象模型内幕”,试图理解多重
和
虚拟
继承是
如何
通过
vtable
实现
的。(我非常了解单一多态性)。我很难理解在
虚拟
继承或强制转换期间需要定位方法时到底要做什么,因为有很多偏移量计算要执行。 是否有人能够帮助理解
如何
在多重或
虚拟
继承示例中使用多个
vtable
?如果我能理解布局
和
问题,我可能就能更好地理解这个问题。
浏览 7
提问于2015-02-15
得票数 17
3
回答
虚拟
调度
实现
细节
、
、
首先,我想说清楚,我确实理解在C++标准中不存在
vtable
和
vptrs的概念。然而,我认为几乎所有的
实现
都以几乎相同的方式
实现
虚拟
调度机制(如果我错了,请纠正我,但这不是主要问题)。另外,我相信我知道
虚拟
函数是
如何
工作的,也就是说,我总是可以判断哪个函数将被调用,我只需要
实现
细节。假设有人问我如下: 基类B具有
虚拟
函数v1、v2、v3
和
派生类D:B,它覆盖了函数v1
和
v3,并添加了
虚拟</
浏览 3
提问于2010-10-19
得票数 39
回答已采纳
1
回答
用于超级方法的Java
vtable
、
、
以及: void bar() { }Bar clazz对象是在
vtable
中存储对foo()
和
bar()方法的引用,还是在
vtable
中只引用bar()方法
和
访问foo()方法jvm访问Bar clazz对象,然后Foo clazz对象然后在
vtable
中找到foo()方法?是不是更像这样: 或者,这可能没有在规范中描述,并且可以依赖于
浏览 0
提问于2018-12-03
得票数 2
回答已采纳
4
回答
为什么需要virtual关键字?
、
换句话说,为什么编译器不“知道”,如果一个函数的定义在派生类中发生了更改,并且指向该派生类的动态分配内存的指针调用了更改后的函数,那么该函数尤其应该被调用,而不是基类的函数?
浏览 0
提问于2012-11-28
得票数 5
回答已采纳
3
回答
C++访谈:纯
虚拟
函数类的
vtable
、
、
(这是一次非常尴尬的电话采访): 具有
虚拟
函数的类
和
具有纯
虚拟
函数的类的
vtable
有什么区别?现在,我知道C++标准没有指定任何关于
vtable
的内容,甚至没有说明v表..however的存在--理论上讲,答案是什么?我脱口而出一个纯
虚拟
函数的类可以有一个
vtable
,它对于纯
虚拟
函数的
vtable
条目将指向派生类
实现
。这个假设正确吗?我没有从面试官那里得到肯定的回答。假设的编译器会为只有纯
虚拟
函
浏览 3
提问于2011-10-03
得票数 14
回答已采纳
3
回答
为什么
虚拟
方法生成对_sbrk的未定义引用?
、
、
、
、
这将优雅地编译如下:};class dummy {}; 为什么
虚拟
方法生成对_sbrk的未定义引用我以前认为
vtable
是静态分配的,不重新分配malloc。编译器:arm-none-eabi-gcc 8.0.0
和
最近的newlib。用-fno-rtti -fno-exceptions -fno-unwind-tables编译。
浏览 1
提问于2017-08-19
得票数 2
回答已采纳
1
回答
GCC中"fvtable-gc“的替换
、
、
、
、
我想在链接过程中删除未使用的
虚拟
函数。 fvtable-gc为
vtable
和
虚拟
函数引用发出特殊的重定位,以便链接器可以识别未使用的
虚拟
函数,并将引用它们的
vtable
槽清零。这是最有用的-
功能
-节
和
-Wl,--gc-节,为了也抛弃函数本身。
浏览 12
提问于2013-07-03
得票数 4
1
回答
vtable
:底层算法
、
、
、
、
我对
vtable
的理解是,如果我有一个带
虚拟
函数的类Cat与Lion
和
HouseCat子类对话(),那么就有一个
vtable
,它将the ()映射到每个子类的正确
实现
。所以打个电话编译成也就是说,在
vtable
位置0中进行查找,并在此位置调用函数指针。 我的问题是:多重继承会发生什么?宠物有
虚拟
函数-- speak()
和
eat()。HouseCat扩展宠物,而狮子没有。现在,
浏览 1
提问于2017-04-17
得票数 8
回答已采纳
1
回答
指向由派生类初始化的基类的指针
如何
使*__vptr调用正确的
虚拟
函数?
、
、
、
有谁能给我解释一下那些大胆的部分来源:
浏览 3
提问于2020-12-04
得票数 0
1
回答
java接口是
如何
在内部
实现
的?(vtables?)
、
、
、
、
Java没有多个
实现
继承,但它确实有多个接口继承,所以我不认为每个类具有一个
vtable
的直接
实现
可以
实现
这一点。java
如何
在内部
实现
接口?另外,JVM通常去
虚拟
化
和
内联方法调用--在这种情况下根本不涉及
vtable
或等效程序,因此询问
实现
虚拟
/接口方法调用的实际组装序列可能没有意义,但我假设大多数JVM仍然保留了类的某种通用表示形式,以便在无法对所有内容进行去
虚拟
化时
浏览 4
提问于2010-12-12
得票数 42
回答已采纳
3
回答
为什么派生类没有
vtable
指针而使用基类的
vtable
?
、
、
、
我对纯C中
虚拟
函数的
实现
感兴趣,这里是一个。然后通过指向基类的
虚拟
函数表的指针
实现
派生类。为什么派生类没有
vtable
指针,而使用基类的
vtable
。也许是因为它们是相同的抵消?myClassDerived_ctor(struct myClassDerived *this) myClassBase_ctor(&this->base); this->base.
vtable
= (void*)&myClassDerived_<e
浏览 2
提问于2013-10-25
得票数 1
回答已采纳
4
回答
在C++中避免对象中的
vtable
指针
、
、
、
在我之前的问题中,突出说明了像GCC这样的C++
实现
必须在每个具有
虚拟
函数的父类的每个副本中存储一个
vtable
指针。这样做的缺点是,我们为
虚拟
父类支付了每个对象的成本,甚至是那些没有成员的类。第二个是指向它的
vtable
的指针。这也许只能用于
虚拟
对象。 对象本身现在可以是
浏览 0
提问于2018-08-06
得票数 1
1
回答
Clang -Wweak
vtable
和
纯抽象类
、
、
、
、
/test.h:1:7: warning: 'A' has no out-of-line virtual method definitions; its
vtable
will be emitted in
浏览 5
提问于2015-02-28
得票数 10
6
回答
C++程序中的
虚拟
表
和
虚拟
指针的数量
、
、
、
public:};{ B b1;我的问题是,当我们运行这个程序时,会创建多少个vtables
和
多少个
浏览 18
提问于2012-01-20
得票数 13
回答已采纳
点击加载更多
相关
资讯
如何制作数字人、虚拟偶像等虚拟角色,并实现与观众实时互动功能?
Excel 查找和替换功能如何实现“非”条件替换?
利用 GPU 的强大功能实现虚拟沉浸式体验和庞大的数据处理
请详细解释如何使用Aspect和Redis来实现缓存功能
如何自己实现session功能
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
云直播
活动推荐
运营活动
广告
关闭
领券