The direct base class subobjects of an object
x of class
C,
in the order of their declaration in the
base-specifier-list of
C,
followed by the direct member subobjects of
x,
in the order of their declaration in the
member-specification of
C,
form a list of subobjects for
x. 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.