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