The C++ standard guarantees that the members of a class or struct appear in
memory in the same order as they are declared.
> Nonstatic data members of a (non-union) class with the same access control are
allocated so that later members have higher addresses within a class object. The
order