In welchen Versionen des C ++ - Standards hat „(i + = 10) + = 10“ ein undefiniertes Verhalten?

Hat in C ++ Folgendes undefiniertes Verhalten:

int i = 0;
(i+=10)+=10;

Es gab einige Debatten darüber in den Kommentaren zumeine Antwort zuWas ist das Ergebnis von + = in C und C ++? Die Feinheiten dabei sind, dass die Standardantwort "Ja" zu sein scheint, während die richtige Antwort "es hängt von der Version des C ++ - Standards ab" zu sein scheint.

Wenn es von der Version des Standards abhängt, erklären Sie bitte, wo es UB ist und wo nicht.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage