Comportamiento indefinido en el uso repetido del operador prefijo ++
Leo estoresponder sobre comportamiento indefinido, donde vi la siguiente declaración:
++++++i; // UB, parsed as (++(++(++i)))
No creo que sea un comportamiento indefinido. Tengo una duda, ¿es realmente UB en C ++? ¿Si es así, entonces cómo?
Además, hice un programa y lo compilé usandog++ prog.cpp -Wall -Wextra -std=gnu++1z -pedantic
comando, funciona bien sin previo aviso. Es dar una salida esperada.
#include <iostream>
using namespace std;
int main()
{
int i = 0;
cout<<++++++i<<endl;
}