teralph2d
@teralph2d

В каких случаях лучше использовать wchar_t, char16_t, char32_t вместо char в C++?

Почитал, но так и до конца не понял.
Стандарт C++20.
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
В тех случаях, когда ты хочешь использовать UTF-16LE, UTF-16 или UTF-32 соответственно.
Если хочешь использовать восьмибитную кодировку или UTF-8, то бери char или char8_t, последний сделан специально для UTF-8
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Gremlin92
@Gremlin92
Целеустремленный
wchar_t используется когда надо ввести-вывести строки в графические компоненты winapi
Ответ написан
@res2001
Developer, ex-admin
Под виндой лучше всегда использовать wchar_t, т.к. ядро винды внутри себя использует wchar_t для строк. Все функции WinAPI, принимающие строки как char* - просто конвертируют их в wchar_t и вызывают соответствующую функцию для широких символов. Так что в целях некоторой оптимизации лучше сразу использовать wchar_t.
В линуксе сейчас уже повсеместно UTF8. Разве что вам придется писать для старых ядер/дистрибутивов.
Другие типы - тогда когда будете работать с данными в соответствующих кодировках.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы