63,594
社区成员




想问下为什么mingw输出的结果一样,以及为什么wsl输出的虚函数地址为1
#include <iostream>
using namespace std;
class A
{
public:
int a = 1;
virtual void func1() { cout << a; }
};
class B :public A
{
public:
int b = 2;
virtual void func1() { cout << b; }
void func2() { cout << a + b << endl; }
};
int main()
{
B obj;
printf("%p\n", &B::func1);
printf("%p\n", &B::func2);
return 0;
}
《深度探索C++对象模型》
《C++反汇编与逆向分析技术揭秘》
printf("%p\n", ((void **)*(void **)&obj)[0]);
支持,推荐图形界面编程:https://blog.csdn.net/u010165006/article/details/122217326 多图、实例、书籍
————————————————————