Wie verwendet man Referenzen-und Zeigerparameter innerhalb einer Funktion?
-
ich musste einige mal Code schreiben, der wie folgt aussah:
P* methode(Typ* p) { eineAndereMethode(p); .... }oder :
R& methode(Typ& r) { eineAndereMethode(r); ... }Meine Frage ist nun, wie übergebe ich die Parameter an die Methoden innerhalb der Methoden, kennzeichne ich sie da auch je nach Typ mit * oder & oder ist es so richtig, wie ich es gemacht habe?

Außerdem ist mir nicht so ganz klar, ob man beim Rückgabetyp anstelle der Referenz oder des Zeigers auch einen ganz
"normalen" Typ zurückgeben kann.
-
Wie hast du eineAndereMethode() deklariert?
-
Generic412 schrieb:
ich musste einige mal Code schreiben, der wie folgt aussah:
P* methode(Typ* p) { eineAndereMethode(p); .... }oder :
R& methode(Typ& r) { eineAndereMethode(r); ... }Meine Frage ist nun, wie übergebe ich die Parameter an die Methoden innerhalb der Methoden, kennzeichne ich sie da auch je nach Typ mit * oder & oder ist es so richtig, wie ich es gemacht habe?

Außerdem ist mir nicht so ganz klar, ob man beim Rückgabetyp anstelle der Referenz oder des Zeigers auch einen ganz
"normalen" Typ zurückgeben kann.Du hast es richtig gemach!
R& methode(Typ& r) { ... }Das ist eine Funktionsdefinition!
... eineAndereMethode(r); ...Zurückgegeben wird immer das, was du in der Funktionsdefinition festgelegt hast, also ein Wert, ein Zeiger, eine Referenz oder Garnichts (void)

Das ist ein Funktionsaufruf! (innerhalb einer Funktiosdefinition)
-
... eineAndereMethode(r); ...Zurückgegeben wird immer das, was du in der Funktionsdefinition festgelegt hast, also ein Wert, ein Zeiger, eine Referenz oder Garnichts (void)

Das ist ein Funktionsaufruf! (innerhalb einer Funktiosdefinition)Müsste ich dann die Parameter der aufgerufenen Funktion innerhalb der Funktionsdefinition auch als Referenz oder Zeiger deklarieren?
-
Wobei man nichts per Referenz zurückgeben sollte was auf dem Stack der Funktion angelegt wurde!
