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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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