Warum 256 für ein signiertes Zeichen in C ++ undefiniert ist
Als ich das Buch zur fünften Auflage von C ++ Primer las, bemerkte ich, dass asigned char
mit einem Wert von256
ist nicht definiert. Ich habe beschlossen, das zu versuchen, und das habe ich gesehenstd::cout
hat für diese Zeichenvariable nicht funktioniert. (Gedruckt nichts).
Aber auf C das Gleichesigned char c = 256;
würde einen Wert geben0
für diechar c
.
Ich habe versucht zu suchen, aber nichts gefunden.
Kann mir jemand erklären, warum dies in C ++ der Fall ist?
Edit: Ich verstehe, dass 256 2 Bytes ist, aber warum passiert nicht dasselbe wie in C, mit C ++?