我在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);
我的问题是,
答案 0 :(得分:8)
你应该阅读下一段:
返回流允许我们的调用者编写
if (read_hw(cin, homework)){/*...*/}
是
的缩写read_hw(cin, homework); if (cin) {/*...*/}
答案 1 :(得分:4)
返回对istream
的引用可启用级联。例如:
int i, j;
std::cin >> i >> j;
// Equivalent to std::cin.operator>>(i).operator>>(j);
istream::operator>>()
返回istream&
,以便级联>>
有效。