400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

C++中的类所占内存空间总结-创新互联

目录

目前创新互联公司已为成百上千家的企业提供了网站建设、域名、雅安服务器托管网站托管运营、企业网站设计、府谷网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

一、结论先行

二、复杂场景举例


注意是类不是类对象。

一、结论先行

取自优秀博客,建议详细看看:

C++中的类所占内存空间总结 - fengMisaka - 博客园 (cnblogs.com)

空的类是会占用内存空间的,而且大小是 1,原因是 C++ 要求每个实例在内存中都有独一无二的地址。

(一)类内部的成员变量:

(二)类内部的成员函数:

(三)虚继承与继承的区别:

二、复杂场景举例

比较复杂的场景,一个类B虚继承了一个虚基类A,A有1个char成员变量和1个虚函数,B还有自己的100个虚函数和1个char变量。那这种情况占多少内存。

这样计算:

对于A,1(char) + 3(内存对齐) + 4(虚函数表指针) = 8

对于B,8(A) + 1(char) + 3(内存对齐) + 4(自己的虚函数表指针) + 4(指向虚基类的指针) = 20

100个虚函数和1个虚函数一样,都是一个虚函数表去存地址,然后虚函数表指针去指向虚函数表。虚函数指针在类的最开始。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:C++中的类所占内存空间总结-创新互联
网站路径:http://mzwzsj.com/article/ddopjd.html

其他资讯

让你的专属顾问为你服务