Dies ist ein Follow-up zu meiner vorherigen Frage What is the order of destruction of function arguments?, weil ich versehentlich Argumente mit Parametern verwechselt. Dank an Columbo und T.C. um mich in den Kommentaren dieser Frage von terminologischer Verwirrung zu befreien.Was ist die Reihenfolge der Zerstörung von Funktionsparametern?
Wenn der Körper einer Funktion f
mit Parametern p_1
, ..., p_n
von Typen T_1
, ..., T_n
wirft jeweils eine Ausnahme, beendet oder zurückgibt, in welcher Reihenfolge die Parameter werden zerstört und warum? Bitte geben Sie wenn möglich einen Hinweis auf den Standard an.
Beispiele:
template <typename ... Args>
void f(Args ... params) {} // in what order are params destroyed?
void f(T1 p1, T2 p2, T3 p3) {} // in what order are p1, p2 and p3 destroyed?
Ich denke nicht, eine Ausnahme zu werfen, macht einen großen Unterschied in Bezug auf die Bewertungsreihenfolge. –