Строковые литералы Unicode

C ++ 11 вводит новый набор префиксов строковых литералов (и даже допускает определяемые пользователем суффиксы). Кроме того, вы можете напрямую использовать escape-последовательности Unicode для кодирования определенного символа, не беспокоясь о кодировании.

const char16_t* s16 = u"\u00DA";
const char32_t* s32 = U"\u00DA";

Но могу ли я использовать escape-последовательности Unicode в строковых литералах wchar_t ? Если бы это было невозможно, это было бы дефектом.

const wchar_t* sw = L"\u00DA";

Целочисленное значение sw [0] , конечно, будет зависеть от того, что wchar_t находится на конкретной платформе, но для всех других эффектов это должно быть переносимым, не так ли?

13
задан hippietrail 9 February 2016 в 13:00
поделиться