TURBO PASCAL |
Новости
|
Порядок вычисленияСтандартами Паскаля допускается, что операнды в выражении часто вычисляются в порядке, отличном от того, в котором они за- писаны (слева направо). Например, оператор: I := F(J) div G(J) где F и G - функции целого типа, приводит к тому, что G вычисля- ется перед вычислением F, так как это позволяет компилятору полу- чить более оптимальный объектный код. Важно, поэтому, чтобы выра- жение никогда не зависело от какого-то конкретного порядка вычисления встроенных функций. Если вернуться к предыдущему при- меру, то для того, чтобы вызвать функцию F перед функцией G, мож- но использовать временную переменную: T := F(J); I := T div G(J); Исключением из этого правила является вычисление по короткой схеме (разрешенное директивой компилятора {$B-}, при котором опе- ранды булевского типа, связанные операциями and или оr, всегда вычисляются слева направо. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |