Können Funktionsaufrufe neu geordnet werden

8

Ich benutze C ++ 98. Inwieweit können Funktionsaufrufe umsortiert werden? Ich verwende keinen globalen Status, sondern nur den Status von Objekten, die für die Funktion lokal sind.

Mein besonderer Fall ist:

%Vor%

Wo Objekt1 und Objekt2 im nächsten Bereich deklariert sind. Kann der Konstruktor für T nach jedem Funktionsaufruf neu angeordnet werden, vorausgesetzt, dass es (zumindest für einen Menschen) trivialerweise bewiesen werden kann, dass keine Abhängigkeiten zwischen der Konstruktion und den Funktionsaufrufen bestehen?

In meinem speziellen Fall wird das RAII-Objekt verwendet, um die Ausführung der Funktionsaufrufe zeitlich zu bestimmen.

    
Graznarak 02.06.2015, 21:26
quelle

1 Antwort

6

Solange ein standardkonformes Programm den Unterschied in seiner beobachtbares Verhalten , kann der Compiler (wie auch andere Komponenten im System) Anweisungen und Operationen frei nach Belieben neu ordnen.

    
David Schwartz 02.06.2015, 21:41
quelle

Tags und Links