< <とC++の>>演算子のオーバーロードの例を紹介しました。それを実装するすべての例は、ローカル変数にフレンド関数からローカル変数の参照を返す
class Date
{
int mo, da, yr;
public:
Date(int m, int d, int y)
{
mo = m; da = d; yr = y;
}
friend ostream& operator<<(ostream& os, const Date& dt);
};
ostream& operator<<(ostream& os, const Date& dt)
{
os << dt.mo << '/' << dt.da << '/' << dt.yr;
return os;
}
int main()
{
Date dt(5, 6, 92);
cout << dt;
}
を参照を返すように見えるしかし、私は(それがない場合には何とか、私を修正)、OSがローカル変数だと思う疑問を得ました。
このコードが実際に動作するのかどうかわかりませんが、ウェブ上のほとんどの参照で同様の実装が見つかりました。
注:ヘッダーファイルのインクルードと名前空間のstdステートメントの使用は、意図的に省略されています。
ありがとうございます。
それは '参照ではなく、ローカル変数 – JLev
ですos'はローカル変数ですが、参照するオブジェクトはローカル変数ではありません。 – VTT
1.ローカル変数ではありません。友人はそれとは何の関係もありません。 – juanchopanza