5. Модель передачи по имени
Реализация
режима ввода-вывода, но с особенностями. Особенности
заключаются в следующем. Вид фактического параметра диктует выбор
модели реализации. Если фактический параметр –
скалярная величина, то
передача равносильна передаче по ссылке. Если – константное выражение, то
равносильна передаче по значению. Если фактический параметр выражение,
содержащее переменную, то передача особая. Она характеризуется
поздним
связыванием, т.е. связывание формального
параметра с фактическим
произойдет не в момент вызова процедуры, а в момент присваивания
формальному параметру конкретного значения или ссылки на него.
Например, пусть фактический параметр –
элемент массива, ясно, что
индексное выражение может изменяться во время выполнения программы
между моментами обращения к этому параметру и не один раз. Поэтому и
связь
должна быть в момент записи, динамической. Это позволяет
использовать формальный параметр для обращения к разным элементам
массива. Преимущества передачи по имени – гибкость.
Недостаток
заключается в медленном выполнении этого механизма.
Справедливости ради, следует заметить, что такая модель в силу
сложности и неэффективности была реализована лишь в языке АЛГОЛ-60.
Do'stlaringiz bilan baham: