Вниз
Скачать: CL | DM;

Еще раз про указатели.   Найти похожие ветки 

 
arche   (2003-10-20 17:57) [0]

Вопросы в комментариях в коде:

---------------------------------------
type
PType = ^TType;
TType = record
a: String;
b: String;
end;
....
procedure test(var p: PType);
begin
p^.a:= "Строка 1"; { можно и так }
p.b:= "Строка 2" { и так, а в чем разница и как будет действительно правильно?? }
end;

procedure TForm1.Button1Click(Sender: TObject);
var
myP: PType;
begin
New(myP);
test(myP);

ShowMessage(myP.a + myP.b);
ShowMessage(myP^.a + myP^.b); {опять же можно и так и так, а в чем разница и как правильно?? }

Dispose(myP);
end;
----------------------------------------
Данный код отлично работает, но здесь myP используется по разному с одинаковыми результатами. Так хотелось бы знать, в чем разница между myP^.a и myP.a и как все же правильно писать?


 
Skier ©   (2003-10-20 17:59) [1]

Разницы нет.
Компилятор он умный, он сам осуществляет разыменование в случае
необходимости.


 
Юрий Федоров ©   (2003-10-20 18:03) [2]

Компилятор сам добавляет крышку. Так что правильно с крышкой, но если ее нет, он сам ее добавит )))


 
icWasya ©   (2003-10-20 18:23) [3]

изза того, что

Var O:TObject;

в Дельфи на самом деле указатель, что бы не плодить по тесту везде O^.ClassName;O^.Delete;O^.Free .... , компилятор автоматически добавляет ^ , когда есть обращение к полю, методу или свойству



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
1-98559
tria
2003-10-20 13:45
2003.10.30
Как в TTreeView отловить событие перехода между елементами?


7-98890
Zhenka
2003-08-14 08:46
2003.10.30
Панель управления->Язык и стандарты вкладка - Числа


1-98599
Александр из Минска
2003-10-19 14:23
2003.10.30
Обращение к компоненту


3-98518
rosl
2003-10-09 08:29
2003.10.30
Strtocurr


7-98907
Vl_Kr
2003-08-05 18:46
2003.10.30
Реальный счёт сотых долей секунды




   Наверх