Created on 2007-02-06.00:00:00 last changed 46 months ago
Rationale (February, 2021):
The Standard now clearly specifies the handling of indeterminate values for unsigned char and std::byte types; see 6.7.5 [basic.indet].
According to 7.3.2 [conv.lval] paragraph 1, applying the lvalue-to-rvalue conversion to any uninitialized object results in undefined behavior. However, character types are intended to allow any data, including uninitialized objects and padding, to be copied (hence the statements in 6.8.2 [basic.fundamental] paragraph 1 that “For character types, all bits of the object representation participate in the value representation” and in 7.2.1 [basic.lval] paragraph 15 that char and unsigned char types can alias any object). The lvalue-to-rvalue conversion should be permitted on uninitialized objects of character type without evoking undefined behavior.
History | |||
---|---|---|---|
Date | User | Action | Args |
2021-02-17 00:00:00 | admin | set | messages: + msg6505 |
2021-02-17 00:00:00 | admin | set | status: drafting -> nad |
2007-05-06 00:00:00 | admin | set | status: open -> drafting |
2007-02-06 00:00:00 | admin | create |