a = a++;
- это undefined поведение в C. Вопрос, который я задаю, это: почему?
Я имею в виду, я понимаю, что может быть трудно обеспечить последовательный порядок, в котором все должно быть сделано. Но некоторые компиляторы всегда будут делать это в одном или другом порядке (на определенном уровне оптимизации). Итак, почему именно это осталось решить компилятору?
Чтобы быть ясным, я хочу знать, было ли это конструктивное решение, и если да, то что его подсказало? Или может быть какое-то аппаратное ограничение?
(Примечание. Если заголовок вопроса кажется неясным или недостаточно хорошим, то обратная связь и/или изменения приветствуются)