Pol*_*ial 3 c++ extraction ifstream insertion
是var << ifstream一样的ifstream >> var吗?
据我所知,它们应该完全相同.但现在已经很晚了,我的大脑半睡半醒,所以我想澄清一下.
他们不一样.foo << bar是foo.operator<<(bar)或operator<<(foo, bar),当bar >> foo是bar.operator>>(foo)或operator>>(bar, foo).
他们只是不同的东西.无论是否存在这些版本,更不用说是否存在两个版本它们做同样的事情,完全取决于代码中的内容.
对于标准的iostream,通常只为以下两个自由函数定义,而不为其他任何函数定义某些用户定义的类型T:
std::ostream & operator<<(std::ostream &, T const &); // for "os << x"
std::istream & operator>>(std::istream &, T &); // for "is >> y"
Run Code Online (Sandbox Code Playgroud)