Quote:
Accordingly to the Standard this code leads to UB if i and j are integral types. But in given case there are two sequence points separating modification of the object in the operator++(). However, my compilator yields wrong result as if there is undefined behaviour. My conclusion was sequence points separate modifications of member of the object but modification of self object is not separated by sequence points. Nevertheless, I've found this explanation a bit suspect and I would like to know exact wording of what's happening.
У меня нет никакой практики общения на английском языке и я опасаюсь что совершил кучу ошибок. Не могли бы вы проверить этот текст, пожалуйста? Quote:
В соответствии со Стандартом этот код приводит к неопределенному поведению, если переменные i и j целых типов. Но в данном случае в операторе инкремента есть две точки_следования отделяющие
модификации объекта. Однако, мой компилятор дает неверный результат, как если бы там было неопределенное поведение.
Я пришел к выводу, что точки_следования отделяют моификации членов объекта, но модификация самого объекта не отделена точками_следования. Тем не менее мне это объяснение показалось подозрительным и я хотел бы узнать точную формулировку того что здесь происходит.
Спасибо.