Размер char
, signed char
и unsigned char
равен определяется как 1 байт самим стандартом C ++. Мне интересно, почему это не так?
sizeof (unsigned char) равно 1; в
результат sizeof применяется к любой другой
основной тип (3.9.1)
определяется реализацией. [Примечание: в
в частности sizeof (bool) и
sizeof (wchar_t) являются
определяется реализацией .69)
Я понимаю, что sizeof (bool) не может быть меньше одного байта . Но есть ли какое-то объяснение, почему он должен быть больше 1 байта? Я не говорю, что реализации определяют его как больше 1, но Стандарт оставил его на усмотрение реализации , как если бы оно могло быть больше 1.
Если нет причины sizeof ( bool)
больше 1, тогда я не понимаю, почему Стандарт не определил его как просто 1 байт
, как он определил sizeof (char)
, и это все варианты.