Michael: Call by value - na klar!

Beitrag lesen

Hallo Timothy,

nix ist unklar.So wie Bio es erklärt hat, ist es schon richtig. Es ist immer call by value, bloß in Deinem Beispiel hast Du ja nicht den Wert ansich übergeben, sondern ein Objekt. Oder man sollte vielleicht besser sagen, eine Objektreferenz (sozusagen ein Zeiger auf eine Datenstruktur). Übergibst Du den jetzt an eine Funktion, so wird tatsächlich neuer Speicherplatz reserviert. Aber halt bloß für den Zeiger. Den Zeiger kannst Du jetzt "umbiegen" ohne das mit dem "Orginal" was passiert. Aber call by value macht halt bloß "flaches" kopieren. Das heißt, drunterliegende Datenstrukturen werden nicht nochmal kopiert.

Ist alles etwas kompliziert, aber ich hoffe trotzdem, daß Du mir folgen konntest ;-)

Gruß
   Michael