"<<"Überladungsfrage
-
Holla,
ich habe mal eine frage zur Überladung von :
std::ostream &operator<<(std::ostream &ostr, const Fraction &f);Meine Frage ist, warum dort soviel mit REferenzen gearbeitet wird, und besonders was bedeutet die Referenz vor dem operator? Wäre um eine Aufklärung echt dankebar:)
-
Du arbeitest auf einem bestimmten Stream, und NUR auf dem Stream. Wenn Du keine Referenzen benutzen würdest, würde eine Kopie des Streams erzeugt werden (was nicht geht, da der Copy-Ctor von Streams private ist). Du gibtst also einen Stream rein, manipulierst ihn, und gibst dann genau diesen manipulierten Stream wieder zurück (daher das & vor dem Operator).
-
ahh alles klar nur warum muss vor das operator noch & ??
-
Damit der Stream auch als Referenz wieder zurückgegeben wird (also genau das Stream-Objekt, das reinging und keine Kopie davon).