Я знаю, что i=i++;
- это поведение undefined, потому что i
изменяется дважды до точки последовательности ;
.
Но я не знаю, гарантирует ли компилятор случай, как показано ниже: undefined:
int func(int &i)
{
i++;
return i;
}
int i = 1;
i = func(i);