class CRespPacketDefault{
int64 request_id;
int64 user_id;
int32 error_code;
int32 trade_mark;
int32 plan_id;
int32 id2;
};
cout<<sizeof(CRespPacketDefault)<<endl;
大家一般都会以为字节的长度为每个字段的长度之和,也就是28,但是实际上却是32。因为编译器会对其进行最大单元的取整。如果不是最大单元的整数,会对其进行取整。
所以在socket报文解析的时候特别需要注意这点
int64 request_id;
int64 user_id;
int32 error_code;
int32 trade_mark;
int32 plan_id;
int32 id2;
};
cout<<sizeof(CRespPacketDefault)<<endl;
大家一般都会以为字节的长度为每个字段的长度之和,也就是28,但是实际上却是32。因为编译器会对其进行最大单元的取整。如果不是最大单元的整数,会对其进行取整。
所以在socket报文解析的时候特别需要注意这点