Zum Inhalt springen

Ein Kommentar

  1. Bernd Raichle

    Die Erklärung ist eigentlich einfach und sie gilt nicht nur für Perl sondern für viele andere Programmiersprachen (bspw. C) auch:

    Die Zeile „a[++i] = b[i];“ enthält mehrere Anweisungen: zum einen das Inkrementieren von i, zum anderen die Zuweisung des Wertes auf der rechten Seite an die Referenz der linken Seite.
    Obiges enthält die einzelnen Schritte

    • a) Inkrementieren von i
    • b) Holen des Wertes b[i]
    • c) Speichern in a[i]

    und es ist nur festgelegt, dass a) vor c)
    und b) vor c) ausgeführt wird. In welcher Reihenfolge nun a) und b) ausgeführt werden, d.h. wann nun i inkrementiert wird, ist abhängig von der Implementierung des Interpreters/Compilers. Meist bestimmen nämlich in diesen Fällen die vorhandenen Prozessor-Befehle (hier: gibt es indizierten Zugriff mit Pre-Inkrement des Index?) die Reihenfolge.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert