Die Norm legt nicht die Reihenfolge der Auswertung der Argumente mit dieser Zeile:Warum ist die Reihenfolge der Auswertung für Funktionsparameter in C++ nicht angegeben?
Die Reihenfolge der Auswertung der Argumente nicht spezifiziert ist.
Was bedeutet
Bessere Code kann in Abwesenheit von Beschränkungen Ausdruck Auswerteauftrag
implizieren erzeugt werden?
Was ist der Nachteil, wenn man alle Compiler auffordert, die Funktionsargumente von links nach rechts zu bewerten? Welche Arten von Optimierungen führen Compiler aufgrund dieser nicht spezifizierten Spezifikation durch?
Wenn dem Compiler ermöglicht wird, die Auswertung der Operanden neu zu ordnen, wird mehr Platz für die Optimierung geboten. – Mysticial
@Mysticial: Absurd wie es aussehen könnte, sollte das eine Antwort sein, und eigentlich die * angenommene * Antwort! –
Welche Arten von Optimierungen führen die Compiler durch? – unj2