002
04.02.2016, 09:23 Uhr
ao
(Operator)
|
call-by-value und das Gegenstück call-by-reference beschreiben den Mechanismus der Parameter-Übergabe an eine Funktion.
Bei call-by-value wird während der Übergabe eine Kopie des Wertes angelegt, der innerhalb der Funktion genauso funktioniert wie eine lokale Variable. D.h. die Funktion kann den Wert verändern, wie sie will, die äußere Welt (d.h. der Aufrufer) merkt davon nichts.
Bei der Funktion tuwas ist das der Fall.
Bei call-by-reference wird nicht ein Variablenwert übergeben, sondern ein Verweis darauf. In C++ ist das eine Referenz oder ein Pointer, und die Syntax wäre int tuwas (int & wert) bzw. int tuwas (int * wert). In diesem Fall wäre alles, was tuwas mit dem Wert macht, auch außen sichtbar.
Rekursion hat damit gar nichts zu tun. Rekursion nennt man es, wenn eine Funktion sich selbst wieder aufruft. Die Funktion tuwas tut das hier:
if(wert<=5) { wert=wert+tuwas(wert); }
Welche Antwort die richtige ist, das hängt davon ab, was dein Lehrer mit "Art des Funktionsaufrufes" meint. Lies dazu deine Unterlagen (Buch, Skript, eigener Mitschrieb) oder frag deine Mitschüler. |