Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#14

AW: allgemeine Pointer Frage

  Alt 26. Nov 2012, 15:54
Ich möchte nochmal auf die Ausgangsfrage zurückkommen

Man kann sich die Signatur von Write mal angucken: function Write(const Buffer; Count: Longint): Longint; virtual; abstract;

Ein const-Parameter ist ein spezieller var-Parameter, also kennzeichnet const einen Call-By-Reference-Parameter.
Dh. wenn du Stream.Write(Buffer^, counter ); aufrufst, übergibst du einen Zeiger (const) auf den Inhalt (^) eines Zeigers (buffer).
Also hat die Funktion am Ende eine Referenz auf die Daten, die zu schreiben sind.


Im Unterschied dazu übergibt Stream.Write(Buffer, counter ); einen Zeiger (const) auf einen Zeiger (buffer).
Also hat die Funktion am Ende eine Referenz auf den Zeiger buffer und nicht auf die zu schreibenden Daten.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG (26. Nov 2012 um 15:57 Uhr)
  Mit Zitat antworten Zitat