Передача параметров процедуры и функции в дельфи:
Code: |
Type Ta=arrayof something; Var a:Ta; |
Вариант 1.
Code: |
Procedure Proc(a:Ta); |
внутри процедуры создаётся копия массива, внутри процедуры работа осуществляется только с копией данных. Недостаток: если а имеет большой размер то передача его в процедуру будет долгой и с большими затратами памяти, так как процедура должна будет скопировать всё содержимое и выделить память для копии.
Вариант 2.
Code: |
Procedure Proc(var a:Ta); |
внутри процедуры код работает именно с переменной а и её содержимым
Вариант 3.
Code: |
Procedure Proc(const a:Ta); |
внутри процедуры запрещено изменять данные переменной а
Вариант 4.
Code: |
Procedure Proc(out a:Ta); |
при входе в процедуру массив рассматривается как пустой, но после выполнения процедуры можно получить значения
Автор:Vit
Взято с Vingrad
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!