我认为 POD(c++11,琐碎 + 标准布局)的全部意义在于确保类型与 C 兼容。
给定以下代码:
// that one is a standard layout, and trivial which makes it a c++11 POD
struct Bar
{
public:
int x;
public:
int y;
};
AFAIU,编译器可能会重新排序 x 和 y。这不会破坏与 C 的兼容性吗?
为什么 c++11 中的 98/03 POD 定义放宽被认为是一个好主意?