TURBO PASCAL |
Новости
|
Подстановка констант множественного типаКогда правая часть оператор 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 ... ; |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |