致力于解决论坛的不足,探讨C++的原理
posted on 2006-12-25 13:42 木木头 阅读(487) 评论(4) 编辑 收藏 引用 所属分类: C++特性
大家看了我下面的描述可以比较清楚的计算出来了 回复 更多评论
这个变量所占的字节数好像是取决于编译其的,与目标机器无关!就同在vs2005下的c++编译器设置为多字符集和UNICode类型都导致char的大小不一样!如果你自己会做编译器的话,你都可以为你编译器做个超大类型的整型,我这个想法不知道对否 回复 更多评论
你所说的32位机是指指针占4 ,这个肯定没问题,就那个结构体是系统默认按照8字节对齐的,#pragma pack(1),采用1字节对齐就会达到预期效果,如果不采用这个,尽量的将同类的放一起,小的与小的放一起,也会达到最节约内存的目的,系统要内存对齐是为了提高存储速度用的,所以定义结构体变量位置摆放就要注意了 回复 更多评论
struct MyStruct { char dda; double dda1; int type ;};中如果把int type;放到double dda1;前会右24变成16 回复 更多评论