File tree Expand file tree Collapse file tree 3 files changed +10
-6
lines changed Expand file tree Collapse file tree 3 files changed +10
-6
lines changed Original file line number Diff line number Diff line change 3564
3564
\indextext {representation!value}%
3565
3565
\defn {value representation}
3566
3566
of an object is the set of bits that hold
3567
- the value of type \tcode {T}. For trivially copyable types, the value representation is
3567
+ the value of type \tcode {T}.
3568
+ Bits in the object representation that are not part of the value representation
3569
+ are \defn {padding bits}.
3570
+ For trivially copyable types, the value representation is
3568
3571
a set of bits in the object representation that determines a
3569
3572
\defn {value}, which is one discrete element of an
3570
3573
\impldef {values of a trivially copyable type} set of values.\footnote {The
3731
3734
\begin {note }
3732
3735
A bit-field of narrow character type whose length is larger than
3733
3736
the number of bits in the object representation of that type has
3734
- padding bits; see~\ref {class.bit }.
3737
+ padding bits; see~\ref {basic.types }.
3735
3738
\end {note }
3736
3739
For unsigned narrow
3737
3740
character types, each possible bit pattern of the value representation
Original file line number Diff line number Diff line change 1306
1306
value of the integral constant expression may
1307
1307
be larger than the number of bits in the object
1308
1308
representation~(\ref {basic.types }) of the bit-field's type; in such
1309
- cases the extra bits are used as padding bits and do not participate in
1310
- the value representation~(\ref {basic.types }) of the bit-field.
1309
+ cases the extra bits are padding bits~(\ref {basic.types }).
1311
1310
\indextext {allocation!implementation-defined bit-field}%
1312
1311
Allocation of bit-fields within a class object is
1313
1312
\impldef {allocation of bit-fields within a class object}.
Original file line number Diff line number Diff line change 2497
2497
if
2498
2498
\tcode {T}
2499
2499
is a (possibly cv-qualified) non-union class type,
2500
+ its padding bits~(\ref {basic.types }) are initialized to zero bits and
2500
2501
each non-static data member,
2501
2502
each non-virtual base class subobject, and,
2502
2503
if the object is not a base class subobject,
2503
2504
each virtual base class subobject
2504
- is zero-initialized and padding is initialized to zero bits ;
2505
+ is zero-initialized;
2505
2506
2506
2507
\item
2507
2508
if
2508
2509
\tcode {T}
2509
2510
is a (possibly cv-qualified) union type,
2511
+ its padding bits~(\ref {basic.types }) are initialized to zero bits and
2510
2512
the
2511
2513
object's first non-static named
2512
2514
data member
2513
- is zero-initialized and padding is initialized to zero bits ;
2515
+ is zero-initialized;
2514
2516
2515
2517
\item
2516
2518
if
You can’t perform that action at this time.
0 commit comments