POINTER vs REFERENCE

guerillero
2013-01-10
2013-01-10
  • guerillero - 2013-01-10

    Hallo,

    kann mir jemand den unterschied zwischen Pointer und Referece erläutern. Zwar habe ich die Hilfe und die Suche bemüht jedoch erschließt sich mir der Unterschied nicht wirklich.

    Kann jemand ein einfaches Beispiel nennen, wann man besser einen Pointer und wann man eine besser Reference nutzt?

    Gruß

    Michael

     
  • singleton - 2013-01-10

    Hi,
    eine Referenz ist typsicher. Wenn Du also einen ganz bestimmten Typ erwartest, kannst Du das mit einem Pointer nicht sicherstellen, mit einer Referenz schon.

     
  • guerillero - 2013-01-10

    Hi,

    Danke, d.h. immer wenn ich keine wilden "intertypischen" operationen vor habe sollte ich besser eine Referez nutzen?

    Gruß

    Michael

     
  • guerillero - 2013-01-10

    Ok, und es gibt anscheinend keine Möglichlkeit die Adresse an der der Wert steht an eine andere Referenz zu übergeben.

     
  • guerillero - 2013-01-10

    REFERENCE benötigt genau so viel Speicher wie ein POINTER? 32Bit?

    Beispiel:
    Deklaration:
    ivar : INT; 
    ref_int : REFERENCE TO INT; 
    ref_int0: REFERENCE TO INT; 
    testref: BOOL := FALSE; 
    Implementierung:
    ivar := ivar +1; 
    ref_int REF= [b]hugo[/b];  <-- soll hier hugo stehen?
    ref_int0 REF= 0; 
    testref := __ISVALIDREF(ref_int);  (* wird TRUE, weil ref_int auf ivar zeigt, das einen Wert ungleich 0 hat *) 
    testref0 := __ISVALIDREF(ref_int0);   (* wird FALSE, weil ref_int auf 0 gesetzt ist *) 
    
     

Log in to post a comment.