Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: 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 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
1-98710
snake1977
2003-10-21 11:48
2003.10.30
TLabel


6-98775
oduvan
2003-09-03 10:10
2003.10.30
Как определить Content Type у файла


1-98553
klyonov
2003-10-09 10:57
2003.10.30
Отрисовка TListBox


14-98871
Dmitriy O.
2003-09-25 08:55
2003.10.30
Кто делал что то в первые в мире программинга ?


4-98921
SH
2003-08-26 17:35
2003.10.30
Есть ли в лотке CDROM компакт-диск?