Seite 1 von 1

Frage zu Referenzen und Pointer

Verfasst: 26. August 2005 20:42
von pumbah
Hi,

kann mir jemand sagen, ob es irgendwelche "zwingenden Vorschriften" gibt, wann man an Funktionen Referenzen oder Zeiger übergibt? Was muss da e.E. bedenken?

cu,

pumbah

Verfasst: 26. August 2005 21:54
von BartSimpson
Es kommt drauf an, was du hast und was erwarten wird.
Wenn. z.b ein Zeiger erwarten wird und du keinen hast, dann das ganze als Referenz übergeben.

Verfasst: 27. August 2005 23:07
von dani
Der Unterschied ist eigentlich nur, dass man bei dem dann einen Zeiger hat, beim anderen eine Referenz... Einem Zeiger kann man halt noch eine andere Adresse zuweisen etc.

Allerdings würde ich bei der Verwendung Folgendes beachten:

Wenn man Code wie

int x;
f(x);

hat, sieht man nicht, dass die Funktion evtl. eine Referenz übergeben bekommt und keine Kopie. Wenn f() jetzt x verändert, kann das beim Lesen des Codes zu Verwirrungen führen. Bei

f(&x);

ist klar, dass ein Zeiger übergeben wird und die Funktion den Wert von x auch verändern kann. Referenzen können in diesem Fall für Verwirrung sorgen.

Verfasst: 3. September 2005 14:13
von kowi1134
Hallo!

Ich würde Referenzen spätestens dann benutzen, wenn Du den Eindruck hast, dass Dir das ständige Kontrollieren gegen NULL auf den Geist geht.

Ciao