求教macbook下显示结果不太一样?
mac下一个指针占据8个字节,实例化Circle类时对象大小应该 = (int) 4字节 + (int *)8字节=12字节才对吧,为啥结果是16呢,求教?
mac下一个指针占据8个字节,实例化Circle类时对象大小应该 = (int) 4字节 + (int *)8字节=12字节才对吧,为啥结果是16呢,求教?
2018-06-10
C/C++ 语言中,编译器为方便操作系统进行寻址和数据传递,struct 和 class 的数据成员存在内存对齐的问题。因此对对象进行 sizeof 不是数据成员的简单相加,需要考虑编译器的 padding 字节大小。
具体细节原理:如何理解 struct 的内存对齐? - Courtier的回答 https://www.zhihu.com/question/27862634/answer/38447033
供你参考 :)
举报