derive layout

https://www.cnblogs.com/pandamohist/p/13882020.html

 

 

 

#include "iostream"
struct B {
virtual void f() {}
uint64_t b;
};

struct C {
virtual void fc() {}
uint64_t c;
};

struct D : public B, public C{
virtual void fd() {}
uint64_t d;
};


int main(){
D d;
printf("%llx\t%llx\t%llx\t%llx\n", &d, &d.b, &d.c, &d.d);
std::cout << sizeof( B) <<'\t' << sizeof( C) <<'\t' << sizeof( D) <<'\n';
return 0;
}
posted @   zJanly  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2022-03-14 characteristic
点击右上角即可分享
微信分享提示