Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вызов по ссылке



Формальный параметр, вызываемый по ссылке, сначала обозначает локальную копию ссылки, полученную в резуль­тате вычисления соответствующего фактического параметра. Вычисление производится в момент обращения к процедуре или в момент порождения объекта.

Формальный параметр типа ссылки есть локальная пере­менная, получающая начальное значение в результате при­сваивания ссылок

ФО:— ФА;

где ФО есть формальный параметр, а ФА есть ссылка, по­лученная в результате вычисления фактического параметра. Поскольку в этом случае параметр является перемен­ной ссылочного типа, его содержимое можно изменить при­сваиванием ссылок внутри тела процедуры или класса. Строка не является допустимым фактическим параметром для текстового параметра, вызываемого по ссылке.

Хотя идентификаторы массивов, процедур, меток и пере­ключателей не обозначают ссылок на значения, имеется полпая аналогия между ссылками в строгом смысле слова и ссылками на массивы, процедуры (т. е. декларации про­цедур), точки программы и переключатели. Поэтому вызов по ссылке определен и для этих случаев.

Параметр-массив, параметр-процедура, параметр-метка или параметр-переключатель, вызываемый по ссылке, нельзя изменить внутри тела процедуры или класса. Таким образом, параметр указанного вида ссылается на одно и то же во всей своей области действия. Однако содержимое массива, вызы­ваемого по ссылке, вполне может быть изменено соответ­ствующими присваиваниями его элементам.

Для параметра-массива, вызываемого по ссылке, тип фак­тического параметра должен совпадать с типом формальной спецификации. Для параметра-процедуры, вызываемого по ссылке; тип фактического параметра должен совпадать с ти­пом формальной спецификации или подчиняться ему.





Дата публикования: 2015-01-23; Прочитано: 165 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...