目录
目前创新互联公司已为成百上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管运营、企业网站设计、府谷网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。一、结论先行
二、复杂场景举例
注意是类不是类对象。
一、结论先行取自优秀博客,建议详细看看:
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元起,快前往官网查看详情吧