3 ms·
> This is no longer true of C++. As of C++20, signed integer types are defined to use two's complement. [0] I don't think C intends to do the same. As no good
by rualca 6y ago
> This is no longer true of C++. As of C++20, signed integer types are defined to use two's complement. [0] I don't think C intends to do the same.
As no good language lawyer discussion should be free from pedantry, there is no such thing as "As of C++20". C++20 is just a new version of the C++ standard. Projects that target C++11 or C++14 or C++17 are all still here and won't go away any time soon, and the respective C++ rule still apply to them. Passing a new revision of the C++ standard changes nothing with regards to which rules actually apply to those projects, unless project maintainers explicitly decide to migrate their projects.
- jcelerier 6y ago> C++20 is just a new version of the C++ standard. and per ISO rules, older versions are withdrawn (as can be confirmed for C++ here: https://www.iso.org/standard/79358.html https://www.iso.org/standard/79358.html) and not to be used anymore: https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100413.pdf https://www.iso.org/files/live/sites/isoorg/files/store/en/P... Other reasons why a committee may decide to propose a standard for withdrawal include the following : ▸ ▸ the standard does not reflect current practice or research ▸ ▸ it is not suitable for new and existing applications (products, systems or processes) ▸ ▸ it is not compatible with current views and expectations regarding quality, safety and the environment
- 0xffff2 6y agoWow. Didn't know this. It doesn't have any bearing whatsoever on reality though. If it did, I wouldn't still be writing C++98 conformant C++.
- jcelerier 6y agowell, your code is nonstandard, that is all, just like a house with powerplugs installed 30 years ago is not standard, even if it "works"