C++中类的大小实例分析
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇"C++中类的大小实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C++中
千家信息网最后更新 2025年11月07日C++中类的大小实例分析
这篇"C++中类的大小实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C++中类的大小实例分析"文章吧。
一、普通类的大小
#includeusing namespace std;class MyClass{public: MyClass(){ int i = 0; float f = 0.01f; }; int getI(){ return i; } int getF(){ return f; }private: int i; float f; //静态变量实际上是其全局变量,它存储在全局/静态存储区,不占对象空间 static int staNum;};int MyClass::staNum = 2;int main(){ MyClass myclass; cout << "myclass的大小" << sizeof(myclass) << endl; return 0;}

我们可以看到,在创建类的对象中,真正占据栈空间的只有两个成员变量,分别为4个字节。静态成员变量实际上与全局变量一起存储在全局存储区,而成员函数则与其他函数一样存在于代码区。
二、空类的大小
#includeusing namespace std;class MyClass{public: MyClass(){};private:};int main(){ MyClass myclass; cout << "myclass的大小" << sizeof(myclass) << endl; return 0;}
在使用类的指针的时候,如果类的的大小为0,那么排在一起的几个空类地址都是一样的话,我们又怎么知道是哪个呢?
三、自动填充类或者结构体的大小
#includeusing namespace std;struct MyStruct1{ bool b1; bool b2; int i1;};struct MyStruct2{ bool b1; int i1; bool b2;};struct MyStruct3{ bool b1; short s1;};int main(){ MyStruct1 s1; MyStruct2 s2; MyStruct3 s3; cout << "MyStruct1的大小" << sizeof(s1) << endl; cout << "MyStruct2的大小" << sizeof(s2) << endl; cout << "MyStruct3的大小" << sizeof(s3) << endl; return 0;}
当我们按照不同的的顺序排列变量的时候会发现,类的大小是不尽相同的。第一种情况,MyStruct中的两个布尔连在一起,如果后面没有变量,编译器会自动填充2个字节;而现在后面还有一个整形i,整形跨越了两个4字节,在读取整形的时候需要两个4字节,因此编译器会在这种情况下也会在i1填充2个字节,从而是i1在下一个字节开始。对于第二种情况,MyStruct2中由于两个布尔类型被整形隔开,我们需要两次填充。第三种情况,MyStruct3中由于short只有两个字节,因此只需要填充一个字节。
以上就是关于"C++中类的大小实例分析"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
大小
字节
变量
两个
内容
全局
情况
存储
实例
实例分析
C++
分析
成员
时候
静态
函数
只有
实际
实际上
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库检索的实例
内网服务器安装iis
南京网络安全员考试
数据库上线测试流程图
广州智慧园区软件开发费用
我的世界新开的生存服务器
计算机网络技术职业素质
数据库中字段合二为一
服务器前端存储怎么调取存储
勤哲excel服务器内容没了
北京养老管理软件开发
酷爱互联网科技
网络技术部的个人认知
网络技术试题软件
打开服务器管理终端
2020网络安全竞赛试题
服务器浏览器增强的安全配置
wos核心数据库检索不到
关系数据库表中对数据的增删改查
乡镇建立网络安全保密工作制度
谷歌生产服务器
Java 数据库会员管理
西藏网络安全周是什么样子
vm 连接服务器
软件开发多少钱人天
c++数据库的使用
关键字 数据库
福州bgp服务器
税务系统网络安全征文
数据库密码加密的方式