TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Подстановка констант множественного типа 

      
       Когда правая  часть оператор in является константой множест-
        венного типа,  компилятор генерирует включение проверки с помощью
        команд CMP. Такие поставляемые проверки более эффективны чем код,
        генерируемый в противном случае соответствующими булевскими выра-
        жениями с использованием операций отношения. Например, оператор:

             if ((Ch >= 'A') and (Ch <: 'Z')) or
                  ((Ch >= 'a') and (Ch <= 'z')) then ...;

        менее читаем и менее эффективен чем

             if Ch in ['A'..'Z', 'a'..'z'] then ...;

             Поскольку свертывание констант применяется к константам мно-
        жественного типа  также как к константам других типов,  можно ис-
        пользовать описания const без потери эффективности.

             const
                Upper = ['A'..'Z'];
                Lower = ['a'..'z'];
                Alpha = Upper + Lower;

             С учетом  данных описаний оператор if генерирует тот же код,
        что и в случае предыдущего оператор if:

             if Ch in Alpha then ... ;

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz