4 ms·
Sadly, the C++ standard bodies are actually breaking old code in new versions of the language. For example, C++/11 introduced UTF8 string literals. Great featu
by Const-me 3y ago
Sadly, the C++ standard bodies are actually breaking old code in new versions of the language.
For example, C++/11 introduced UTF8 string literals. Great feature which does what you’d expect – declare a string literal in source code, get a const pointer to null-terminated array of utf-8 bytes.
Then a decade later, in C++/20 they refactored these UTF8 literals to evaluate into const pointers to the new incompatible data type, char8_t.
It’s so bad that compiler developers had to implement switches to disable the new BS. Unfortunately, these switches are incompatible across compilers, -fno-char8_t in gcc, /Zc:char8_t- in msvc.