C++ 从istream_迭代器理解等式

C++ 从istream_迭代器理解等式,c++,stl,istream-iterator,C++,Stl,Istream Iterator,有人能解释一下为什么这是流迭代器代码吗 // code extract from SGI STL istream_iterator class bool _M_equal(const istream_iterator& __x) const { return (_M_ok == __x.M_ok) && (!_M_ok || _M_stream == __x._M_stream); } 工作,而不仅仅是书面形式 bool _M_equal(const istrea

有人能解释一下为什么这是流迭代器代码吗

// code extract from SGI STL istream_iterator class
bool _M_equal(const istream_iterator& __x) const {
   return (_M_ok == __x.M_ok) && (!_M_ok || _M_stream == __x._M_stream);
}
工作,而不仅仅是书面形式

bool _M_equal(const istream_iterator& __x) const {
   return (_M_ok == __x.M_ok) && (_M_stream == __x._M_stream);
}
我不明白包括在内的原因_好的。提前感谢。

\u M\u stream==\uuuuuux.\u M\u stream如果\u M\u ok或\uuuux.\u M\u ok为false,则具有未定义的行为