[quote=jemand,14.09.2005, 19:51]@n = n++;
Vielleicht speichert der compiler das zuzuweisende zwischen(wieso auch immer) weist es zu und tut dann das zwischengespeicherte inkrementieren... ^^
Effektiv wäre das dann n=n; da ja das zu zwischenspeicherne ehh ins Nirvana geht.[/quote]
Wie kommst du denn darauf?
Das Verhalten des Codes "$n = $n++" in Perl ist doch klar definiert:
1. $n++ wird ausgewertet, $n wird dadurch inkrementiert, der Rückgabewert der Anweisung ist aber der alte Wert von $n
2. $n wird auf den Rückgabewert von Schritt 1 gesetzt, also wieder auf seinen alten Wert.
In C ist das aber anders. Wenn ich mich recht entsinne, kann es da in einem Statement nicht zweimal denselben lvalue geben...
When C++ is your hammer, every problem looks like your thumb.