当前位置 : 主页 > 编程语言 > c语言 >

C++ ---->类 ~~ 对象_03

来源:互联网 收集:自由互联 发布时间:2023-09-06
各位好友,欢迎来到本期博文 !本期,继续推进上一期内容 ! ------- 结构体 下面重点讲解, 如何计算一个结构体的大小 ! 现定义一个结构体,如下 : 1. 内存对齐规则 (1)第一个成

各位好友,欢迎来到本期博文 !本期,继续推进上一期内容 !

-------> 结构体

下面重点讲解, 如何计算一个结构体的大小

现定义一个结构体,如下 :>

C++ ---->类 ~~ 对象_03_结构体大小计算

1. 内存对齐规则

(1)第一个成员在于结构体偏移量为 0 的地址;

(2)其他成员变量要对齐到某一个数字(对齐数)的整数倍的地址处;

注意:> 对齐数 = 编译器默认的一个对齐数 与 该成员字节大小的较小值;  VS 默认对齐数的大小为  8

(3)结构体总大小为:最大对齐数(所有变量类型最大值与默认对齐参数取最小值)的整数倍;

(4)如果 嵌套了结构体,嵌套的结构体对齐到自己最大对齐数默认的整数倍,结构体的整体大小就是所有最大对齐数(包含嵌套的结构体)整数倍 !

2. 计算结构体大小(重点

为了方便好友们,有更好的观感,与更好地理解 !以下分析,均是采用彩色图示,请观察:>

C++ ---->类 ~~ 对象_03_this 指针_02

以上就是,结构体大小的相关计算了 !

其实,只要学会了方法,无论 怎样变化 变量类型,以及 成员个数,总能应付自如 !

上一篇:软件开发、设计、架构的五大原则
下一篇:没有了
网友评论