Ich habe viele Tutorials gesehen und versucht, die Antwort auf Stackoverflow aber ohne Erfolg zu finden.Operator überladen C++ Referenz oder Wert
Worüber ich mir nicht sicher bin; Gibt es eine Praxis, wann man nach Wert oder durch Referenz zurückkehrt, wenn man einen Operator überlädt?
Für z.B.
Class &operator+(){
Class obj;
//...
return obj;
}
oder das Gleiche, aber von Wert
Class operator+(){
Class obj;
//...
return obj;
}
Und ich würde zu erwähnen, ich habe bemerkt, dass Fälle, in fast 90% der, wenn das gleiche Objekt zurückkehrt (*this
), ist auf dasselbe Objekt verwiesen wird zurückgegeben. Könnte jemand erklären, warum das so ist?
Sie meinen wie obj = obj1 + obj2 + obj3; ? –
Das erste Beispiel ist falsch, geben Sie keine lokale Variable als Referenz zurück. – masterxilo