Sie sind hier: Errata  

SEITE 99
 

Originaltext:

Beachten Sie bitte, dass Operationen und damit auch Ausdrücke grundsätzlich einen Wert zurückliefern. Dies wird im letzen Beispiel deutlich: die Operation b=0 liefert den Wert 0, der dann für die zweite Operation (a=...) verwendet wird (die Assoziativität der Zu­weisungsoperatoren ist „links nach rechts“).

 

Korrekt muss es heißen:

Die Assoziativität der Zu­weisungsoperatoren ist „rechts nach links“.

 

 

Originaltext:

 

Übung 5-1:

Welche Auswirkungen hat die Operation a++ = b++ = 0? (a und b sollen Integer-Variablen sein).

 

Korrekt muss es heißen:

 

Übung 5-1:

Welche Auswirkungen hat die Operation ++a = ++b = 0? (a und b sollen Integer-Variablen sein).

 

Anmerkung:

Die Version mit dem Postinkrement ist unzulässig, die Anweisung ergibt einen Syntaxfehler bei der Übersetzung. Der Grund ist, dass der Postincrement-Operator einen Wert (r-value) liefert (nämlich den ursprünglichen Wert der Variablen vor der Incrementierung). Einem Wert kann aber nichts zu gewiesen werden.

Anders verhält es sich mit dem PräIncrement-Operator. Er erhöht die Variable und liefert eine Referenz darauf zurück. Dies ist ein l-value, dem etwas zu gewiesen werden kann.

 

 

 




Errata | Seite 170