![]() |
Zeiger auf Zeiger
Hallo zusammen!
Hätte mal ne kleine Frage, kann man in Delphi einen Zeiger auf Zeiger setzen? In C++ kann man das ja mit
Code:
lösen.
int **p;
Danke im voraus Gruß Tester [edit=Daniel B]Doppelpost gelöscht.[delphi] Mfg, Daniel B[/edit] |
Re: Zeiger auf Zeiger
In Delphi scheint es nicht direkt (mit ^^) zu funktionieren sondern nur mit einem "Hilfstyp":
Delphi-Quellcode:
derefenziert werden kann dann aber doch mit
type
PInteger = ^Integer; PPInteger = ^PInteger; //^^Integer doesnt seem to work
Delphi-Quellcode:
var
myPPInt : PPInteger; myPInt : PInteger; begin //... myPInt:= myPInt^; myPPInt^^:= 42; |
Re: Zeiger auf Zeiger
Es ist vom Typkonzept von Delphi her auch konsequent das ^^ nicht erlaubt ist.
^Integer ist ja ein unbenannter Typ, der natuerlich zu allen anderen Typen inkompatibel ist. |
Re: Zeiger auf Zeiger
Hallo Robert Marquardt,
das klingt Interessant. Ich bin gerenell an Konzepten hinsichtlich Designs interessiert, konnte aber leider keinen Artikel oder Abschnitt in meiner Sprachreferenz zum Typenkonzept in Delphi finden. Auch die Suche nach Begriffen wie "unbenannter Typ", "anonymer Typ", "impliziter Typ", etc. war erfolglos. Hast Du Literatur hierzu? |
Re: Zeiger auf Zeiger
Ich stuetze mich hier auf mein Pasacal-Wissen von der Uni (lang ists her).
Delphi-Quellcode:
Diese Zuweisung ist nicht erlaubt, da die Typen beider Variablen unterschiedlich sind.
var
a: ^Integer; b: ^Integer; begin a := b; end; Am einfachsten laesst sich das erklaeren, wenn man annimmt das "^Integer" intern einen unbenannten eigenen Typ bekommt. Etwas aehnliches gibt es bei "with". With kann man am Besten erklaeren indem man unbenannte Variablen annimmt. Genau so implementiert der Compiler es ausserdem. |
Re: Zeiger auf Zeiger
Deine Argumentation ist schlüssig: Weil Du einen (ich nenne ihn einmal so, wie ein ähnliches Konzept in Java) anonymen Typen erzeugst, der mit keinem anderen Typen (außer Pointer selbst) kompatibel ist, macht es keinen Sinn, weitere Pointer auf ihn zu platzieren, weil es nur eine Variable geben kann, die von seinem Typ ist.
Schade, dass ich hierzu nichts finde. |
Re: Zeiger auf Zeiger
Das sollte eigentlich irgendwo beschrieben sein.
Die wirklich interessanten Sachen wie "tiefe Bindung" bekommt man wohl nur an der Uni erklaert. Frag mich jetzt nicht was "tiefe Bindung" genau ist. Das hab ich vergessen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 Uhr. |
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 by Thomas Breitkreuz