C++中的数据对齐示例详解
前言对于C/C++程序员来说,掌握数据对齐是很有必要的,因为只有了解了这个概念,才能知道编译器在什么时候会偷偷的塞入一些字节到我们的结构体,也唯有这样我们才能更好的理解、优化结构体和内存。几个栗子看看几个简单的Struct,能猜出他们的SIZE吗?先揭晓答案如果对任何一个结构体的大小有疑问,那么这篇文章非常适合你,请接着往下看,我们会解释数据对齐。数据对齐在C/C++中,每种数据类型都有对齐的要求,大家都知道,处理器工作的时候需要数据总线、控制总线和地址总线一起配合工作。同时在读取内存的时候,也会从4byte或者8byte边界开始读取,这是处理器行为,我们只能尊重不能改变。考虑下面的例子,它的起始地址输出是:
下载地址
用户评论