Thema: Delphi Pointer als Parameter?

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Pointer als Parameter?

  Alt 15. Nov 2005, 15:34
Zitat von 3_of_8:
Und wieso sollte man Pointer vermeiden? Ich dachte halt, die sind schneller, wenn nicht gleich das ganze Objekt übergeben wird.
Natürlich ist es schneller, einen Zeiger auf einen Record zu übergeben, als den gesamten Record zu kopieren.
Es ist aber besser var- oder const- Parameter zu benützen und es dem Compiler zu überlassen
intern Zeiger zu verwenden. So kann man als Programmierer einfach weniger Fehler produzieren.
Dies bezieht sich auf Records; du hast aber (erst jetzt) von Objekten gesprochen.

Alle Datentypen, die von TObject abgeleitet sind, werden intern schon als Zeiger verwaltet.
Es gibt also keinen Grund, einen Zeiger auf einen Zeiger einzuführen.
Das lässt sich ganz leicht nachprüfen:
Delphi-Quellcode:
procedure Bla(param: TBla);
begin
   ShowMessageFmt('Parameter <param> braucht %d Bytes', [sizeof(param)]);
end;
Andreas
  Mit Zitat antworten Zitat