Почему sizeof (bool ) не определено как единое целое самим стандартом?

Размер 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) , и это все варианты.

35
задан Community 23 May 2017 в 12:26
поделиться