LINUX.ORG.RU

История изменений

Исправление rmammoth, (текущая версия) :

И это называется «менять порядок вычислений»

А как это еще назвать? http://www.5byte.ru/tp7pub/0013.php :

Следует иметь в виду что в пределах одного и того же приоритета действия не обязательно выполняются слева направо. В целях оптимизации программы компилятор может нарушить этот порядок вычисления. Исключение составляют укороченные логические вычисления логических выражений, где вычисления всегда выполняются слева направо.

Для тех кто в танке: допустим A, B, C, ..., Z — функции, возвращающие булево значение. Тогда при вычислении выражения A and B and C and ... and Z в «коротком» режиме они будут вызываться в указанной последовательности, пока не вызовутся все или пока очередной вызов не вернет false, а в «длинном» — будут вызваны все функции, причем в неопределенном порядке. И всё это переключается ключиком компилятора, красота да и только.

Я вижу, тут все знатные знатоки знаний о паскале собрались :D

Исправление rmammoth, :

И это называется «менять порядок вычислений»

А как это еще назвать? http://www.5byte.ru/tp7pub/0013.php :

Следует иметь в виду что в пределах одного и того же приоритета действия не обязательно выполняются слева направо. В целях оптимизации программы компилятор может нарушить этот порядок вычисления. Исключение составляют укороченные логические вычисления логических выражений, где вычисления всегда выполняются слева направо.

Для тех кто в танке: допустим A, B, C, ..., Z — функции, возвращающие булево значение. Тогда при вычислении выражения A and B and C and ... and Z в «коротком» режиме они будут вызываться в указанной последовательности, пока не вызовутся все или пока очередной вызов не вернет false, а в «длинном» — будут вызваны все функции, причем в неопределенном порядке.

Я вижу, тут все знатные знатоки знаний о паскале собрались :D

Исходная версия rmammoth, :

И это называется «менять порядок вычислений»

А как это еще назвать? http://www.5byte.ru/tp7pub/0013.php :

Следует иметь в виду что в пределах одного и того же приоритета действия не обязательно выполняются слева направо. В целях оптимизации программы компилятор может нарушить этот порядок вычисления. Исключение составляют укороченные логические вычисления логических выражений, где вычисления всегда выполняются слева направо.

Для тех кто в танке: допустим A, B, C, ..., Z — функции, возвращающие булево значение. Тогда при вычислении выражения A and B and C and ... and Z в «коротком» режиме они будут вызываться в указанной последовательности, пока не вызовутся все или пока очередной вызов не вернет false, а в «длинном» — будут вызваны все функции, причем в неопределенном порядке.