¿En qué versiones del estándar C ++ “(i + = 10) + = 10” tiene un comportamiento indefinido?

En C ++, ¿tiene el siguiente comportamiento indefinido:

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

Hubo un debate sobre esto en los comentarios ami respuesta a¿Cuál es el resultado de + = en C y C ++? La sutileza aquí es que la respuesta predeterminada parece ser "sí", mientras que parece que la respuesta correcta es "depende de la versión del estándar C ++".

Si depende de la versión del estándar, explique dónde está UB y dónde no.

Respuestas a la pregunta(3)

Su respuesta a la pregunta