Werden in C++ Klassenobjekte automatisch als Referenz auf andere Funktionen übergeben?
In C++ hängt davon ab, ob Klassenobjekte als Referenz oder als Wert übergeben werden, wie die Funktion deklariert und aufgerufen wird. Wenn eine Funktion deklariert wird, ein Klassenobjekt mittels Referenz mit dem '&' Operator in der Parameterliste zu nehmen, dann wird das Objekt als Referenz übergeben. Zum Beispiel: void myFunction(MyClass& obj) { // Etwas mit obj } tun In diesem Fall ist der 'obj' Parameter eine Referenz auf ein MyClass Objekt, so dass alle Änderungen an 'obj' innerhalb der Funktion im ursprünglichen Objekt reflektiert werden, das übergeben wurde. Wenn jedoch eine Funktion deklariert wird, ein Klassenobjekt nach Wert zu nehmen (ohne den '&' Operator zu benutzen), dann wird eine Kopie des Objekts gemacht und an die Funktion übergeben. Zum Beispiel: void myFunction(MyClass obj) { // Etwas mit obj } tun, ist in diesem Fall 'obj' eine Kopie des ursprünglichen Objekts, das in übergeben wurde, also werden Änderungen an 'obj' innerhalb der Funktion nicht in der ursprünglichen Objektkategorie reflektiert.