Всем доброго настроения. Народ! помогите немного разобраться с типизированными ссылками.
Например:
Код:
type
PPerson = ^TPerson;
TPerson = record
Name: AnsiString;
Age: byte;
end;
var
Per1: TPerson;
Per2: PPerson;
begin
Per1.Name:='Peter'; // первый случай
New(Per2); // Второй случай
Per2.Name:='Peter';
Despose(Per2);
end;
В первом случае программа выделяет место в памяти при запуске и обращается непосредственно к переменным (данным). И если надо передать другой похожей переменной передает данные содержщиеся в переменной. Если я правильно понял.?!
Во втором случае программа выделяет память для работы и затем соответственно освобождает её (динамическая память). И работает уже не с переменными а с адресом памяти где находятся данные переменной. И если надо передать другой похожей переменной передает адрес памяти где находиться данные.?!
Получается что если работать со строками и структурами лучше использовать типизированые ссылки? т.к. передавать данные на обработку выгоднее и быстрее передать адрес где находятся данные.
И в чем плюсы и минусы этих ссылок.?
Спасибо за внимание.