The direct base class subobjects of 
C,
in the order of their declaration in the 
base-specifier-list of 
C,
followed by the non-static data members of 
C,
in the order of their declaration in the 
member-specification of 
C,
form a list of subobjects
.In that list, any subobject of array type is recursively expanded
to the sequence of its elements, in the order of increasing subscript
.Let 
xi be an lvalue denoting the 
ith element
in the expanded list of subobjects for an object 
x
(of length 
n),
where 
xi is
formed by a sequence of
derived-to-base conversions (
[over.best.ics]),
class member access expressions (
[expr.ref]), and
array subscript expressions (
[expr.sub]) applied to 
x.