|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Nick Voronin 2:5030/1281.16 30 Mar 2005 19:02:00 To : Eugene B. Berdnikov Subject : Re: Need GUI development tool (Kylix or something) -------------------------------------------------------------------------------- 25 Mar 05 20:08, Eugene B. Berdnikov -> Serguei Miridonov: EB> Ссылки. Сначала - B.Straustroup, "The C++ Programming Language", 3d ed.,] EB> Addson-Wesley, 1998. EB> 6.2.2 Evaluation order. EB> The order of evaluation of subexpressions within an expression is EB> undefined. Могу ошибаться, но мне всегда казалось, что именно это означает следующее. В выражении r[k] = a*b+c*d; неизвестно, какое подвыражение будет вычислено первым: r[k], a*b или c*d. Hо не означает, что a*b*c может вычисляться как-то иначе чем (a*b)*c. EB> -------------------------------------------------------------------- EB> Стандарт C++ (возможно, это тоже драфт). ISO/IEC 14882:1998(E) EB> Во введении (раздел 1.9) достаточно ясно сказано: Что оптимизация допускается любая, пока результат не отличается от результата на "абстрактной машине", которую описывает стандарт. Логично. В принципе, оптимизатору позволено творить вообще всё что угодно, пока он уверен в том, что оптимизация не изменит поведения программы. Вплоть до невыполнения какого-то кода. :) Hо практика вносит свои коррективы и реально оптимизатор может не так уж много, в частности изменить порядок операций он не может. Потому как этот порядок всё же есть и он _именно в общем случае_ имеет значение. С уважением, Hиколай. P.S. А есть вообще такая платформа в железе, где мог бы? np: 2003. VA / Angelic Science->[01] Angelic Science (Paused) --- Fregate 1.52/W32 * Origin: Рождённые умирать (2:5030/1281.16) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/4567327e9a12.html, оценка из 5, голосов 10
|