Czy istnieje punkt sekwencji między wywołaniem funkcji zwracającym obiekt a wywołaniem metody na tym obiekcie?

Jeśli piszęf(x)->g(args, ...) czy mogę polegać na punkcie sekwencji pof(x) przed ocenąargs, ...? Widzę argumenty w obie strony:

§ 1.9.17 „Podczas wywoływania funkcji (niezależnie od tego, czy funkcja jest wbudowana) istnieje punkt sekwencji po ocenie wszystkich argumentów funkcji (jeśli istnieją), które mają miejsce przed wykonaniem jakichkolwiek wyrażeń lub instrukcji w treści funkcji.Istnieje również punkt sekwencji po skopiowaniu zwróconej wartości i przed wykonaniem jakichkolwiek wyrażeń poza funkcją."Z drugiej strony wskaźnik obiektu jest niejawnie ukrytym argumentemthis jakbym pisałg(f(x), args, ...) co sugeruje, że jest to argument, a więc nieokreślony.

The-> operator nie jest normalnym operatorem binarnym, ponieważ wyraźnieg(...) nie może być wcześniej ocenianymf(x) jakby to mogło być, gdybym pisałf(x) + g(...). Jestem zaskoczony, że nie mogę znaleźć na ten temat konkretnych stwierdzeń.

questionAnswers(2)

yourAnswerToTheQuestion