И «это дает ожидаемый результат» - не повод думать, что это определенное поведение. Возвращение того, что я ожидаю, является одним из возможных результатов неопределенного поведения.
аю этоответ о неопределенном поведении, где я увидел следующее утверждение:
++++++i; // UB, parsed as (++(++(++i)))
Я не думаю, что это неопределенное поведение. У меня есть сомнения, действительно ли это UB в C ++? Если да, то как?
Также я сделал программу и скомпилировал используяg++ prog.cpp -Wall -Wextra -std=gnu++1z -pedantic
команда работает нормально без предупреждения. Это дает ожидаемый результат.
#include <iostream>
using namespace std;
int main()
{
int i = 0;
cout<<++++++i<<endl;
}