C++20 с u8, char8_t и std::stringC++

Программы на C++. Форум разработчиков
Anonymous
C++20 с u8, char8_t и std::string

Сообщение Anonymous »

В C++11 появился префикс u8 для литералов UTF-8. Несколько лет назад я подумал, что это было довольно круто, и наполнил свой код такими вещами:

Код: Выделить всё

std::string myString = u8"●";
Все это хорошо, но проблема возникает в C++20. Кажется, он больше не компилируется, потому что u8 создает char8_t*, а это несовместимо с std::string, который использует только char.
Должен ли я создавать новую utf8string? Каков последовательный и правильный способ сделать подобные вещи в мире C++20, где есть более явные типы, которые на самом деле не соответствуют стандартному std::string?

Подробнее здесь: https://stackoverflow.com/questions/568 ... -stdstring

Вернуться в «C++»