char16_t символьный беззнаковый тип данных длиной 16 бит, введен в С++11 для использования кодировки UTF-16.
#include <iostream> // cout, endl
using namespace std;
int main(){
char16_t ch = 'A'; // Создаем символьную переменную
cout << string(1, ch) << " = " << (int)ch << endl; // Выводим значение ch как символа и как числа
const char16_t wch[] = u"zß水?"; // Массив символов. Идентично "z\u00df\u6c34\U000df34c"
const size_t wch_size = sizeof(wch) / sizeof(*wch); // Размер массива символов
cout << wch_size << " elements" << endl; // Выводим размер массива символов
for(size_t n = 0; n < wch_size; ++n){ // Перебираем элементы массива символов
cout << hex << wch[n] << ' '; // Выводим значения символов
}
}