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.