Frage

Angesichts der folgenden Funktionsaufruf in C:

fooFunc( barFunc(), bazFunc() );

Die Reihenfolge der Ausführung von barFunc und BazFunc ist also nicht angegeben, also barFunc() kann vorher angerufen werden bazFunc() oder bazFunc() Vor barFunc() in C.

Tut Java Geben Sie eine Reihenfolge der Ausführung von Funktionsargumentausdrücken an oder mögen C Ist das nicht spezifiziert?

War es hilfreich?

Lösung

Von dem Java -Sprachspezifikation (über Ausdrücke):

15.7.4 Argumentlisten werden von links nach rechts bewertet

In einer Methode- oder Konstruktor -Aufruf oder Ausdruck von Klasseninstanzen können Argumentausdrücke innerhalb der Klammern erscheinen, die durch Kommas getrennt sind. Jeder Argumentausdruck scheint vor einem Teil eines Argumentausdrucks vollständig bewertet zu werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top