|
|
|
|
|
by Karellen
950 days ago
|
|
> C++ should clearly have picked Unspecified Behaviour rather than Undefined Behaviour but too late now. Why is it too late? Changing it in a later version of the standard wouldn't be a further constraint on any written code; any code which is currently correct will remain correct, and some code which could have done literally anything will now only be able to have one of a few possible behaviours. |
|
Consider how long it took C++ to deprecate support for integers that are not two's complement, when every piece of silicon for many decades has been a two's complement design. In the case of shift instructions, it is defined differently across ISAs used today.