File tree Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Original file line number Diff line number Diff line change 4156
4156
one is a standard-layout class object and
4157
4157
the other is the first non-static data member of that object, or,
4158
4158
if the object has no non-static data members,
4159
- the first base class subobject of that object\iref {class.mem }, or
4159
+ any base class subobject of that object\iref {class.mem }, or
4160
4160
\item
4161
4161
there exists an object \placeholder {c} such that
4162
4162
\placeholder {a} and \placeholder {c} are pointer-interconvertible, and
Original file line number Diff line number Diff line change 801
801
802
802
\pnum
803
803
If a standard-layout class object has any non-static data members, its address
804
- is the same as the address of its first non-static data member. Otherwise, its
805
- address is the same as the address of its first base class subobject (if any).
804
+ is the same as the address of its first non-static data member
805
+ if that member is not a bit-field. Its
806
+ address is also the same as the address of each of its base class subobjects.
806
807
\begin {note }
807
- There might therefore be unnamed padding within a standard-layout struct object, but
808
+ There might therefore be unnamed padding within a standard-layout struct object
809
+ inserted by an implementation, but
808
810
not at its beginning, as necessary to achieve appropriate alignment.
809
811
\end {note }
810
812
\begin {note }
You can’t perform that action at this time.
0 commit comments