比方说,我有一个struct RGB
,我想创建继承RGB
的struct RGBA
struct RGB {
unsigned char r;
unsigned char g;
unsigned char b;
};
struct RGBA: RGB {
unsigned char a;
};
两者都将用于读取未压缩的图像数据:
RGBA *pixel=static_cast<RGBA *>(image->uncompressed_data);
问:关于struct RGBA
的内存布局,这安全吗?有没有人能保证:
unsigned char a
位于struct RGBA
的RGB struct
之后(not before)
struct RGB
和a参数之间的空填充#pragma pack
在这方面会有帮助吗?这一切都是关于继承期间的内存布局。
https://stackoverflow.com/questions/22404423
复制相似问题