Dlaczego 256 dla podpisanego znaku jest niezdefiniowane w C ++
Czytając książkę C ++ Primer w 5. edycji zauważyłem, że asigned char
o wartości256
jest niezdefiniowane. Postanowiłem to wypróbować i zobaczyłem tostd::cout
nie działa dla tej zmiennej char. (Nic nie wydrukowano).
Ale w C to samosigned char c = 256;
dałby wartość0
dlachar c
.
Próbowałem szukać, ale nic nie znalazłem.
Czy ktoś może mi wyjaśnić, dlaczego tak jest w C ++?
Edycja: Rozumiem, że 256 ma 2 bajty, ale dlaczego C ++ nie działa tak samo jak w C?