In manchen Fällen kann es sinnvoll sein, bei Operatorüberladungen Referenzen zurückzugeben, um Daisychaining zu ermöglichen. Das heißt, es wäre möglich, Folgendes zu tun: Sei a ein Vector3-Objekt und b,c jeweils double-Werte: a*=b*=c; also (a*b)*c. Inwiefern das an der Stelle erwünscht/übersichtlich ist, kann man natürlich selbst entscheiden. Bei dem Ausgabe-Operator hingegen finde ich das sehr praktisch.
Danke für das Video. Der Teil mit den Vergleichsoperatoren hat mir sehr geholfen!
Sehr schönes Video!
Warum returnst du bei 12:22 das this als referenz? Ist steh irgendwie aufm Schlauch
In manchen Fällen kann es sinnvoll sein, bei Operatorüberladungen Referenzen zurückzugeben, um Daisychaining zu ermöglichen. Das heißt, es wäre möglich, Folgendes zu tun: Sei a ein Vector3-Objekt und b,c jeweils double-Werte: a*=b*=c; also (a*b)*c. Inwiefern das an der Stelle erwünscht/übersichtlich ist, kann man natürlich selbst entscheiden. Bei dem Ausgabe-Operator hingegen finde ich das sehr praktisch.
zuweisungsoperator definieren ist doch eigentlich beim implementieren zumindest fast genau so wie wenn man copy konstruktor implementiert oder?
Eigentlich ja^^
Nur macht das selten jemand, weil C++11 einem schon solche Standard-Konstruktoren liefert (die nur im Hintergrund ausgeführt werden).