operator frage



  • Hi,

    wenn man einen operator + hat, sollte man dann auch einen operator += definieren?



  • Mein operator+ sieht immer so aus:

    T operator+(T a, T const& b)
    {
      a+=b;
      return a;
    }
    

    deshalb empfiehlt es sich den operator+= anzubieten, denn dadurch spart man sich den operator+ zu schreiben 😉



  • Außerdem geht auf die Art und Weise sicher, daß + und += wir erwartet die gleiche Operation durchführen und bei Modifikationen muß auch nur eine Stelle verändert werden.

    Allerdings mache ich meinen Rückgabewert immer const um Zuweisungen an temporäre Objekte zu verhindern. Und auf die Tricks wie einen Parameter by Value und den andere by Reference verzichte ich und lege die Variable selbst an. Ist zwar eine Zeile mehr, aber man muß sich nicht wundern, warum die beiden Parameter verschieden übergeben werden.

    MfG Jester



  • Jester schrieb:

    Allerdings mache ich meinen Rückgabewert immer const um Zuweisungen an temporäre Objekte zu verhindern.

    *patsch*
    Ich natürlich auch. Habs nur vergessen 😞


Anmelden zum Antworten