ТЕХНИКА ОПТИМИЗАЦИИ ПРОГРАММ

       

Удаление лишних условий


Упрощение логических условий чем-то сродни алгебраическим упрощения. Рассмотрим следующий пример:

if (a>0 && a<0x666 && a!=0) …

Очевидно, что проверка (a!=0) лишняя – т.к. если 'a' больше нуля, оно заведомо не равно нулю! Компилятор Microsoft Visual C++ умеет распознавать такие ситуации, избавляясь от избыточных проверок, а вот Borland C++ и WATCOM на это не способны.



Содержание раздела