Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Warum läßt Delphi das zu: Pointertyp(pBla).Member??? (https://www.delphipraxis.net/51603-warum-laesst-delphi-das-zu-pointertyp-pbla-member.html)

negaH 16. Aug 2005 14:26

Re: Warum läßt Delphi das zu: Pointertyp(pBla).Member???
 
Zitat:

Du siehst, auch unter Delphi ist es mir wurscht, was für ein Typ dahintersteckt.
Und warum derefernezierst du diesen dann beim Zugriff auf ein Member ?
Ist doch im grunde egal und enthält keine zusätzlich wertvollen Informationen die den Source lesbarer für uns Menschen macht.

DU dereferenzierst diesen nur aus Prinzip, aus einer für dich sinnvollen Vereinbarung, Festlegung.
Ist diese Festlegung wirklich sinnvoll ?

Gruß Hagen

tommie-lie 16. Aug 2005 14:29

Re: Warum läßt Delphi das zu: Pointertyp(pBla).Member???
 
Zitat:

Zitat von negaH
DU dereferenzierst diesen nur aus Prinzip, aus einer für dich sinnvollen Vereinbarung, Festlegung.
Ist diese Festlegung wirklich sinnvoll ?

Okay, ich verändere meinen Code ein wenig:
Delphi-Quellcode:
type
  PBlah = ^TBlah;
  TBlah = record
    Member: LongInt;
  end;

type
  PBlubb = ^TBlubb;
  TBlubb = record
    Member: ShortInt;
  end;

function DoSomething(aBlubb: TBlubb): PBlah;
begin
  Result := @aBlubb;
end;

// imagine 20 pages of other code here

var
  SomeBlubb: TBlubb;
begin
  SomeBlubb.Member := 5;
  DoSomething(SomeBlubb).Member := 42;
end;
Weißt du jetzt noch, ohne 20 Seiten nach oben zu scrollen, in was für eine Datestruktur ich 42 schreibe ob ich 42 in einen dereferenzierten Pointer schreibe, oder nicht?

negaH 16. Aug 2005 14:37

Re: Warum läßt Delphi das zu: Pointertyp(pBla).Member???
 
Zitat:

Weißt du jetzt noch, ohne 20 Seiten nach oben zu scrollen, in was für eine Datestruktur ich 42 schreibe ob ich 42 in einen dereferenzierten Pointer schreibe, oder nicht?
Delphi-Quellcode:
 DoSomething(SomeBlubb).Member := 42;

Warum sollte mich das in obiger Zeile interessieren ? Ich möchte doch nur 42 abspeichern.
Der Rest, sprich wie und wo und ob typsicher das ist doch Aufgabe des Compilers.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz