Это также относится к char32_t
и любым intXX_t
.В спецификации указывается, что:
2.14.3.2
:
Значение литерала char16_t, содержащего один символ c-char, равно значению его кодовой точки ISO 10646 при условии, чтокодовая точка может быть представлена одной 16-битной кодовой единицей.
5.3.3.1
:
[..], в частности [..] sizeof (char16_t),sizeof (char32_t) и sizeof (wchar_t) определяются реализацией
Я не вижу ничего о типах intXX_t
, кроме комментария о том, что они являются "необязательными" (18.4.1
).
Если char16_t
не гарантированно будет 2 байта, то гарантированно ли оно будет 16-битным (даже на архитектурах, где 1 байт! = 8 бит)?