2

Accelerated C++ でこれを読みました。これは簡略化されたバージョンです。

istream& read_hw(istream& in, Student_info& s)
{    
    in >> s.name >> s.midterm >> s.final;
    return in;
}

次に、関数を次のように呼び出すことができます。

Student_info s;
read_hw(cin, s);

私の質問は、

  1. istream への参照を返すポイントは何ですか? 2 つのパラメーターは両方とも参照によって渡されるため、
  2. 関数を呼び出している間、戻り値を気にしていないようです
4

2 に答える 2

8

次の段落を読む必要があります。

ストリームを返すと、呼び出し元は次のように書くことができます

if (read_hw(cin, homework)){/*...*/} 

の略語として

read_hw(cin, homework);
if (cin) {/*...*/}
于 2012-08-16T16:33:40.127 に答える
4

への参照を返すと、istreamカスケードが有効になります。例えば:

int i, j;
std::cin >> i >> j;
// Equivalent to std::cin.operator>>(i).operator>>(j);

istream::operator>>()istream&カスケードが機能するように戻ります>>

于 2012-08-16T16:34:53.513 に答える