Это определенное поведение?
*p += *p--;
И если да, то эквивалентен ли он { p[0] += p[0]; --p; }
или { p[-1] = p[0]; --p; }
?
Я предполагаю, что быть определенным или нет, зависит от того, имеет ли +=
неявную точку последовательности, и, если она есть, я предполагаю, что второй блок должен быть правильным.
РЕДАКТИРОВАТЬ: я думаю, что это не дубликат предложенного вопроса, потому что главный вопрос заключается в том, что такое точки последовательности и как они влияют на поведение. В моем случае у меня есть четкое представление о том, что такое точка последовательности, и вопрос конкретно заключается в том, имеет ли оператор +=
неявную точку последовательности или нет.