Hi,
die Zeiger/Pointer/Referenzen werden als Kopie übergeben (sprich: vereinfacht wird die "Einsprungadresse" des referenzierten Zielobjekts kopiert und übergeben).**
sinnvollerweise wird eine neue referenz erstellt (eine kopie des pointers), damit die originalreferenz auf keinen fall zerschossen werden kann.
Das ist eine Widerholung dessen, was ich vorher schrieb ;-)
Die Begründung (auch für das Verhindern eines "Zerschießens") ist einfach: Methodenparameter sind lokale Variablen und damit nur im Scope der Methode und _nicht_ außerhalb gültig. Daher müssen die übergebenen Referenzen Kopien sein.
aber es wird keinesfalls die datenstruktur kopiert.
ist mir durchaus bekannt ;-)
dies würde nicht nur die performance bremsen, sondern auch datenmanipulationen der betreffenden objekte unterbinden, da diese ja in der kopie erfolgen. deshalb übergibt php5 jetzt defaultmäßig als referenz und nicht mehr als kopie.
Ähm, wir sprachen zumindest bis hierhin von Java, welches eine (fast) perfekte Implementierung des OO-Paradigmas ist.
bei primitiven datentypen spielt performance keine rolle.
Das hängt sicherlich auch von der Implementierung des Konzepts "primitiver Datentypen" ab.
daher können die by value übergeben werden.
S.o.
Viele Grüße,
Martin