我遇到了以下代码片段。此函数具有通过引用传出的参数,它返回并且具有返回类型的代码结尾再次通过引用传回。我不明白为什么这个功能需要返回类型。如果out已通过引用传递,则函数中的任何更改都将反映出out。那么在这里使用返回类型stream的意义何在?
std::ostream& operator<<(std::ostream& out, const Fraction &f1)
{
out << f1.m_numerator << "/" << f1.m_denominator;
return out;
}