Macht es Sinn, bei Operatoren ein konstantes Objekt zu liefern?
-
Hi!
In einem Buch ("Mehr effektiv C++ programmieren" von Scott Meyers) habe ich folgendes gesehen:
class Rational { // ... }; const Rational operator +(const Rational& lhs, const Rational& rhs) { // ... }Welchen Sinn hat das "const" hier beim Rückgabetyp des +-Operators?
Oder gibt es womögich garkeinen?Danke.
-
Hi,
das const rettet dich vor sowas:
Rational a, b, c; a + b = c; // :warning: da op+ const zurückliefertDieses Verhalten ist auch gut so, aber nicht perfekt. camper hat dazu mal was gepostet, ich poste gleich den Link.
Eigentlich steht das im Buch auch weiter unten erklärt oder vllt war das auch in Eff. C++.
-
-
Danke!
Interessant. Nun bin ich aber leider eher verwirrter als vorher und weiß nicht, ob es jetzt besser ist das so zu machen oder nicht ...
-
Strousirup schrieb:
Danke!
Interessant. Nun bin ich aber leider eher verwirrter als vorher und weiß nicht, ob es jetzt besser ist das so zu machen oder nicht ...Mach es so
im moment hast du keine bessere Alternative ...