Это определенное поведение?Оператор C + = Последовательность?
*p += *p--;
И, если да, то это эквивалентно { p[0] += p[0]; --p; }
или { p[-1] = p[0]; --p; }
?
Я предполагаю, что определение определяется или нет, зависит от того, имеет ли +=
неявную точку последовательности, и, если есть, я предполагаю, что второй блок должен быть правильным.
EDIT: Я думаю, что это не дубликат предлагаемого вопроса, потому что главный вопрос заключается в том, какие точки последовательности и как влияют на поведение. В моем случае я имею ясное представление о том, что такое точка последовательности, и вопрос конкретно о том, имеет ли оператор +=
неявный номер последовательности или нет.
Да, это действительно так. –
Возможный дубликат [Неопределенное поведение и точки последовательности] (http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points) – BlackDwarf
Я не видел вопроса, когда я разместил его, но ответ Лундина определенно более разъясняет мне, что ответы на упомянутый вами вопрос. –