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.