Every object of class type has a unique member subobject
corresponding to each of its direct non-static data members
. If any non-static data member of a class
C is of reference type,
then let
D be an invented class
that is identical to
C
except that each non-static member of
D corresponding to
a member of
C of type “reference to
T”
instead has type “pointer to
T”
. Every member subobject of a complete object of type
C
has the same size, alignment, and offset
as that of the corresponding subobject of a complete object of type
D. The size and alignment of
C are the same as
the size and alignment of
D.