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 ++?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage