假设我有两个类,它们的内存布局应该完全相同:
struct A {
int x;
int y;
};
/* possibly more code */
struct B {
int a;
int b;
};
Run Code Online (Sandbox Code Playgroud)
标准中是否有什么可以保证我可以安全地使用static_assert(sizeof(A) == sizeof(B))?
作为较弱的变体,请考虑
struct C {
int a;
};
static_assert( sizeof(A) >= sizeof(C) ); // can this ever fail?
static_assert( sizeof(A) > sizeof(C) ); // can this ever fail?
Run Code Online (Sandbox Code Playgroud)
这个问题引发了这个问题。我天真地希望不会有任何断言失败,但是可以保证吗?