Gibt es einen Sequenzpunkt zwischen einem Funktionsaufruf, der ein Objekt zurückgibt, und einem Methodenaufruf für dieses Objekt?

Wenn ich schreibef(x)->g(args, ...) Kann ich mich auf einen Sequenzpunkt nach verlassenf(x) vor der Auswertung vonargs, ...? Ich kann Argumente in beide Richtungen sehen:

§1.9.17 "Beim Aufruf einer Funktion (unabhängig davon, ob die Funktion inline ist oder nicht) gibt es nach der Auswertung aller Funktionsargumente (falls vorhanden) einen Sequenzpunkt, der vor der Ausführung von Ausdrücken oder Anweisungen im Funktionskörper stattfindet.Es gibt auch einen Sequenzpunkt nach dem Kopieren eines zurückgegebenen Werts und vor der Ausführung von Ausdrücken außerhalb der Funktion."Andererseits ist der Objektzeiger implizit ein verstecktes Argumentthis als hätte ich geschriebeng(f(x), args, ...) was darauf hindeutet, dass es sich um ein Argument handelt und daher nicht näher spezifiziert ist.

Das-> operator ist eindeutig kein normaler binärer Operatorg(...) kann nicht vorher ausgewertet werdenf(x) wie es könnte, wenn ich schreibef(x) + g(...). Ich bin überrascht, dass ich keine konkrete Aussage dazu finden kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage