Предполагая, что программа запущена в системе с набором символов кодировки UTF-16. Итак, согласно языку программирования С++ - 4th, стр. 150:
A char может содержать символ набора символов машин.
→ Я думаю, что переменная char будет иметь размер 2 байта.
Но согласно ISO/IEC 14882: 2014:
sizeof(char)
,sizeof(signed char)
иsizeof(unsigned char)
равны 1 ".
или язык программирования С++ - четвертый, стр. 149:
"[...], поэтому по определению размер a char равен 1"
→ Он фиксируется с размером 1.
Вопрос: Есть ли конфликт между этими утверждениями выше или
является sizeof(char) = 1
просто значением по умолчанию (определение) и будет определяться реализацией зависит от каждой системы?