Thread PERL vs. C: gleicher Code, anderes Ergebnis (47 answers)
Opened by docsnyder at 2005-09-14 16:16

murphy
 2005-09-14 22:25
#57978 #57978
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[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.

View full thread PERL vs. C: gleicher Code, anderes Ergebnis