Hi!
a++
NICHT das Gleiche wie
a = a + 1
ist.
wieso?
weil es einfach ein anderer Ausdruck ist. Und je nach Sprache und Definition von a und + kann was unterschiedliches rauskommen.
kurzes Javascriptbeispiel:
<script>
a="2 oder ";
//a++; // 1. Versuch (gibt: NaN, IMHO wäre aber auch 3 ok, je nach Implementation)
a=a+1; // 2.Versuch gibt '2 oder 1'
alert (a);
</script>
Es gibt zwei Unterschiede:
a wird zweimal ausgewertet. Das gibt unterschiedliche Resulte wenn a nicht seiteneffektfrei ist. (in C z.b.: #define a (*b++) )
Der + Operator mit dem rechten Argument 1 muss nicht das gleiche machen wie der increment Operator (s.o.). (Also wenn + in einer Sprache nicht nur für Addition verwendet wird.)
Ausserdem ist natürlich "a=a+1" != "a++" um dem Bauernfängerncharacter der Aussage gerecht zu werden.
Gruss,
Carsten