虚表指针初始化
2021/12/28 23:15:23
本文主要是介绍虚表指针初始化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
构造函数中能调用虚函数,也能确定虚表指针的存在。
能否通过下面的结果确定虚表指针在构造函数调用前就初始化好了?欢迎赐教
class A { typedef void(*fp)(); public: virtual void foo() { cout << "virtual void foo()" << endl; } virtual void bar() { cout << "virtual void bar()" << endl; } A() { cout << "A()" << endl; int* p = (int*)*(int*)(this); cout << p << endl; fp f = (fp)(*p); f(); f = (fp)(*(p + 1)); f(); } }; void test() { A a1, a2; int* p = (int*)*(int*)(&a1); cout << p << endl; p = (int*)*(int*)(&a2); cout << p << endl; }
这篇关于虚表指针初始化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API