call by value und call by reference
-
Wir sind in einer Technikerklasse welche bereits kleinere Programme in QB realisiert hat und nun mit C++ begonnen hat. Unser erstes Programm sollte die Umrechnung von Fahrenheit in Celsius durchführen was uns auch gelungen ist. Daraufhin wurden in der Klasse zwei Freiwillige gesucht, das sind leider wir zwei, die den anderen die Funktionsaufrufe call by value und call by reference näher bringen sollen. Wir sollen das mit einer power Point Präsentation machen (kein Problem) aber wie kann man es am besten erklären....
Wir sind dankbar für jede Hilfe.
-
Kurz und bündig:
Bei 'Call by value' wird eine Kopie des Arguments auf dem Funktionsstack angelegt. -> Änderung der Argumente in der Funktion hat keine Auswirkungen auf die originalen Argumente.Bei 'Call by reference' wird mit einer Referenz auf die originalen übergebenen Parameter gearbeitet (Siehe Referenzen in C++). Daher wirken sich änderungen der Parameter auch auf die übergebenen Parameter aus.
Ausserdem erspart man sich bei der Übergabe via Referenz einen Copy-Constructor aufruf. EDIT: Bei Komplexen Typen
-
weil dort schon mehr antworten sind:
Hier geht's weiter