char8_t и char несовместимыми?
Они были совместимы до c++20, а в стандартной библиотеке нет ничего для char8_t
а покажите char8_t до c++20
А его не было, но был u8
До С++20 char8_t в C++ не существовало. Если вы используете MS extensions -- это ваши личные проблемы, каку в рот тащили вы.
ну раз не было, то как могла сломаться совместимость?
u8 честно по стандарту отдавал char строку, рекомендовали использовать unsigned char для разметки таких строк, но не тут то было, в unsigned char тоже не положить
Нет, не использовал, но состояние этой фичи сейчас трагическое
А так, чтобы было написано множество кода, который учитывал что на вход приходит юникод строка
Теперь же ты используешь ты же литералу, а тип возвращается другой. Опа, совместимость поломана.
так она юникод и остаётся. Но литерал сломал совместимость, да
Ее затащили в Стандарт, сделав deprecate u8-метода std::filesystem::path
А что не так было с обычным char`ом ? зачем понадобилось делать char8_t, да еще и делать deprecate работу со строками u8 в std::filesystem ?
Прочитайте, на что был reply - там понятно, кого "ее" затащили...)
Обсуждают сегодня