Re[2]: char, signed char, unsigned char
От: rg45 СССР  
Дата: 17.02.17 10:37
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, nen777w, Вы писали:


N>>Почему с точки зрения компилятора это 3 разных типа?

E>Наследие С. Общего у этих типов -- одинаковое число бит и способ их (бит) хранения в памяти, что позволяет их всех троих reinterpret_cast'ить друг к другу.

Вот как раз C, в отличие от C++, не требует чтобы char был отдельным типом:

5.2.4.2.1/2
If the value of an object of type char is treated as a signed integer when used in an expression, the value of CHAR_MIN shall be the same as that of SCHAR_MIN and the value of CHAR_MAX shall be the same as that of SCHAR_MAX. Otherwise, the value of CHAR_MIN shall be 0 and the value of CHAR_MAX shall be the same as that of UCHAR_MAX.

--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.