was ergibt a+++b?
-
Moin
Ich habe da mal ne Frage:
Was für einen Code erzeugt der Compiler, wenn er auf folgende
Anweisung trifft?int a=1;
int b=1;a+++b;
Erstellt er:
- a++ + b
- a + b++
mfg Lup
-
Ich meine bei 2) natürlich a + ++b
Sry wegen Doppel-Post
-
[Edit] Vergesst es.....[/edit]
-
(a++) + (b)
Ansi/ISO C++ schrieb:
[Example: The program fragment x+++++y is parsed as x ++ ++ + y, which, if x and y are of built-in
types, violates a constraint on increment operators, even though the parse x ++ + ++ y might yield a
correct expression. ]
-
Die Reihenfolge war auf jeden Fall definiert. Ich glaube es war a++ + b, würd ich jetzt aber kein Siegel drauf geben.
Das Ergebnis sollte aber undefiniert sein, da innerhalb des Sequenzpunktes zwei Schreibzugriffe stattfinden (++ auf a und + auf ein temporäres Objekt).
-
7H3 N4C3R schrieb:
Die Reihenfolge war auf jeden Fall definiert. Ich glaube es war a++ + b, würd ich jetzt aber kein Siegel drauf geben.
Das Ergebnis sollte aber undefiniert sein, da innerhalb des Sequenzpunktes zwei Schreibzugriffe stattfinden (++ auf a und + auf ein temporäres Objekt).
Warum undefiniert? a+++b gibt a+b zurück und inkrementiert a um 1.
-
FireFlow schrieb:
a+++b gibt a+b zurück und inkrementiert a um 1.
da sieht man mal, wie wichtig spaces im code sind