Thema: Delphi Problem mit Pointern

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: Problem mit Pointern

  Alt 22. Apr 2006, 14:17
Hi,
mal ein wenig zu den Pointern. Schau dir mal in der OH GetMem an. Da wirst du dann sehen, dass du eher zu New (und Dispose) greifen sollst. Warum musst / kannst du dort dann aber keine Größe angeben? Ganz einfach, Pointer sind echt nur Zeiger auf eine Adresse im Speicher. Die Größe deiner Adresse ist dabei fest durch dein BS vorgegeben (i.d.R. dürften dass also 32Bit / 4 Byte sein).
Wichtig ist hier zu verstehen, dass ein Pointer wirklich immer gleich groß ist, SizeOf(Pt) liefert dir immer 4 (so groß ist nämlich dein Pointer), sizeOf(pt^) sollte hingegen die Größe der Daten hinter pt liefern. Darin liegt auch der volle Vorteil von Pointern, du musst nicht mehr xxx Byte übergeben sondern nur noch eine Adresse (und die ist immer ein Register breit und damit optimal in der Größe).

Gruß Der Unwissende
  Mit Zitat antworten Zitat