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;