Потому что благодаря наличию функции C ++ 20 char8_t
это будет работать:
path p(u8"A/utf8/path");
u8path
существует, чтобы позволить обнаруживать разницу между строкой UTF-8и узкая строка символов.Но поскольку C ++ 20 даст нам фактический тип для этого, в этом больше нет необходимости.
Что я должен использовать в c ++ 17?
Использование u8path
.Устаревание не означает удалено или недоступно .Это просто означает, что возможно возможное удаление .
В настоящее время в C ++ 20 u8path(u8"A/UTF8/String")
не удастся скомпилировать в C ++ 20 из-за u8
, теперь создающего char8_t
строкаНо C ++ 20 может получить изменение на u8path
, которое принимает char8_t
строк .