这些结构体align1andalign2包含相同的数据,但align1由于嵌套布局而具有更多填充。我怎样才能获得align2while的内存节省对齐,同时也使用像 in 这样的嵌套结构align1?
int main() {
struct align1 {
struct {
double d; // 8 bytes
bool b1; //+1 byte (+ 7 bytes padding) = 16 bytes
} subStruct;
bool b2; //+1 byte (+ 7 bytes padding) = 24 bytes
};
struct align2 {
double d; // 8 bytes
bool b1, b2; //+2 byte (+ 6 bytes padding) = 16 bytes
};
std::cout << "align1: " << sizeof(align1) << " …Run Code Online (Sandbox Code Playgroud) c++ padding inner-classes memory-alignment compiler-optimization