AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeiger auf Zeiger

Ein Thema von Tester · begonnen am 11. Nov 2003 · letzter Beitrag vom 11. Nov 2003
Antwort Antwort
Tester

Registriert seit: 5. Aug 2003
Ort: tief im Osten
78 Beiträge
 
#1

Zeiger auf Zeiger

  Alt 11. Nov 2003, 08:19
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:
 int **p;
lösen.

Danke im voraus

Gruß Tester

[edit=Daniel B]Doppelpost gelöscht.[delphi] Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Zeiger auf Zeiger

  Alt 11. Nov 2003, 08:56
In Delphi scheint es nicht direkt (mit ^^) zu funktionieren sondern nur mit einem "Hilfstyp":
Delphi-Quellcode:
type
  PInteger = ^Integer;
  PPInteger = ^PInteger; //^^Integer doesnt seem to work
derefenziert werden kann dann aber doch mit
Delphi-Quellcode:
var
  myPPInt : PPInteger;
  myPInt : PInteger;
begin
  //...
  myPInt:= myPInt^;
  myPPInt^^:= 42;
gruß, choose
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Zeiger auf Zeiger

  Alt 11. Nov 2003, 10:42
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.
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Zeiger auf Zeiger

  Alt 11. Nov 2003, 11:23
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?
gruß, choose
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Zeiger auf Zeiger

  Alt 11. Nov 2003, 15:04
Ich stuetze mich hier auf mein Pasacal-Wissen von der Uni (lang ists her).
Delphi-Quellcode:
var
  a: ^Integer;
  b: ^Integer;
begin
  a := b;
end;
Diese Zuweisung ist nicht erlaubt, da die Typen beider Variablen unterschiedlich sind.
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.
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Zeiger auf Zeiger

  Alt 11. Nov 2003, 15:10
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.
gruß, choose
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: Zeiger auf Zeiger

  Alt 11. Nov 2003, 17:56
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz