Re[6]: operator int
От: rg45 СССР  
Дата: 26.05.25 20:57
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Для выражения x = v + u + z можно подобрать такие v + u + z, что в зависимости от порядка выполнения операций промежуточный результат может как оставаться в пределах или же выходить за пределы. В стандарте есть разъяснения по этому поводу.

BFE>

BFE>5 [Note 4 : The implementation can regroup operators according to the usual mathematical rules only where the
BFE>operators really are associative or commutative.41 For example, in the following fragment-*

BFE>Вывод: порядок зависит от архитектуры.

Я все же склонен рассматривать это как особый случай и не торопился бы обобщать. В общем же случае порядок выполнения операций зависит и от приоритетов, и от ассоциативностей. Например, в выражении a — b + c компилер сначала выполнит вычитание и только потом сложение, но ни как не наоборот, хотя приоритеты у сложения и вычитания одинаковы. И это только потому, что обе эти операция являются левоассоциативными. То же самое с умножением и делением.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 26.05.2025 21:05 rg45 . Предыдущая версия . Еще …
Отредактировано 26.05.2025 21:01 rg45 . Предыдущая версия .
Отредактировано 26.05.2025 20:59 rg45 . Предыдущая версия .
Отредактировано 26.05.2025 20:58 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.