I
Danke für eure Antworten - ich werde also manuell eine lokale Kopie anlegen. Dazu gleich noch eine Frage (ich fange gerade erst an, c++ zu programmieren - bis jetzt Java und c), und zwar eine, die sicherlich schon ein paar mal gestellt wurde, ich habe auch alles, was ich im Forum dazu gefunden habe, schon angeschaut...
ich habe also meine bisherige Funktion:
func(A aObject)
{
// do something with local copy aObject
}
Jetzt muss ich das ganze so ändern, dass erst manuell eine lokale Kopie angelegt wird:
func(const A *aObjectPtr)
{
// copiedAObject = create local copy of *aObjectPtr
// do something with local copy copiedAObject
}
ABER ich könnte es auch so machen:
func(const A &aObjectRef)
{
// copiedAObject = create local copy of aObjectRef
// do something with local copy copiedAObject
}
Mir ist einfach bis jetzt nicht so richtig klar, wann ich welche Methode anwende, auch wenn ich wohl die Unterschiede zwischen Ref und Ptr kenne (Ref==Alias, Ref!=NULL, Ref braucht keinen Speicher, Ref kann nicht auf verschiedene Objekte zeigen).
Könnt ihr mir vielleicht einfach kurz sagen, welche Variante ihr wählen würdet und WARUM, damit ich ein bisschen was von euren Erfahrungen lernen kann.
Danke!