Warum verwenden wir Referenz Rückkehr in Zuweisungsoperator überladen und nicht bei plus-minus-ops?

Wie ich gelesen habe in Büchern und im web, in C++ können wir die überlastung der "plus" oder "minus" - Operatoren mit diesen Prototypen (als member-Funktionen einer class Money):

const Money operator +(const Money& m2) const;

const Money operator -(const Money& m2) const;

und für den Zuweisungsoperator mit:

const Money& operator =(const Money& m2);

Warum verwenden Sie einen Verweis auf ein Geld-Objekt als return-Wert in der Zuweisungsoperator überladen und nicht in die plus-und minus-Operatoren?

  • Wenn Sie zurückgegeben wird eine Referenz in einem + oder - binäre operation, was sollte er finden? Es macht keinen Sinn für die Rückgabe einer Referenz. Der Betrieb muss ein neues Objekt erstellen.
  • Wollen Sie nicht in der Lage sein, um code a + b = c;
InformationsquelleAutor MinimalTech | 2014-01-31
Schreibe einen Kommentar