|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Serguei Miridonov 2:5020/400 26 Mar 2005 02:25:45 To : Eugene B. Berdnikov Subject : Re: Need GUI development tool (Kylix or something) -------------------------------------------------------------------------------- Eugene B. Berdnikov wrote: > Serguei Miridonov <mirsev@cicese.mx> wrote: > SM> Только в том случае, если результат от порядка не зависит (см. ниже). > > А мы спорим не о том, когда может, а может или не может вообще. > Ответ: да, МОЖЕТ. Граничные условия - уже частности. Да нет, не частности. Когда в стандарте написано, как считается какое-то выражение, т.е. что с каким приоритетом и в каком порядке, то любой может проверить, какой будет результат. Как там потом компилятор перегруппирует операнды - мне по барабану, если результат будет тот же. Главное, что ответ не меняется. Считайте, что записав арифметическое выражение строго определённым образом, Вы программируете некий "чёрный ящик" на получение строго определённого ответа при строго определённых операндах. А уж как там будет проходить оптимизация: переименованием регистров, заменой указателей или танцем с бубном - уже никого не волнует. Зато определение строгого порядка вычислений в некоторой степени гарантирует, что программа Ваша будет выполяться одинаково независимо ни от процессора, ни от компилятора, если во всех случаях стандарты соблюдены. >>> Parentheses can be used to force grouping. For example, a*b/c means >>> (a*b)/c so parentheses must be used to get a*(b/c). > > SM> > SM> Обратите внимание: "... a*b/c means (a*b)/c ..." И далее: > > Я же говорил, что Бьярн ужасно косноязычен. Hо сути дела его > косноязычие не меняет - цитаты из стандартов вполне внятны. Именно, а там на перегруппировку ограничения достаточно строги. --- ifmail v.2.15dev5.3 * Origin: CICESE Research Center, Ensenada, Mexico (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/1339660606285.html, оценка из 5, голосов 10
|