我是靠谱客的博主 传统铃铛,这篇文章主要介绍C++ 之 空类和空结构体的大小,现在分享给大家,希望可以做个参考。

本次实验环境

Linux localhost.localdomain 2.6.32-642.11.1.el6.i686 #1 SMP Fri Nov 18 18:48:28 UTC 2016 i686 i686 i386 GNU/Linux

测试代码

#include<iostream>
using namespace std;

struct aaa{};
class bbb{};


int main(){
 aaa a;
 bbb b;

cout<<"a:size: "<<sizeof(a)<<endl;
cout<<"b:size: "<<sizeof(b)<<endl;

return 0;
}

结果

为什么大小是1呢?

深度探索c++对象模型中是这样说的:
那是被编译器插进去的一个char ,使得这个class的不同实体(object)在内存中配置独一无二的地址。
也就是说这个char是用来标识类的不同对象的

最后

以上就是传统铃铛最近收集整理的关于C++ 之 空类和空结构体的大小的全部内容,更多相关C++内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部