Недавно у меня возникла проблема с переносом приложения Windows в Linux из-за разницы в размере wchar_t между этими платформами. Я пытался использовать компиляторы, но были проблемы с печатью этих символов (я полагаю, что GCC wcout считает, что все wchar_t 32 бит).
Итак, мой вопрос: есть ли хороший способ (w)cout char16_t? Я спрашиваю, потому что это не работает, я вынужден передать его wchar_t:
cout << (wchar_t) c;
Это не похоже на большую проблему, но меня это беспокоит.