【发布时间】:2018-05-02 03:48:56
【问题描述】:
这是一个重载的>>operator 函数:
std::istream& operator>>(std::istream& is, std::vector<int>& v){
string s;
if (! (is >> s) )
return is;
...
return is;
}
据我了解,if(! (is >> s)) 没有任何意义,因为终端或控制台会等到来自键盘或其他来源的输入输入s。所以if() 中的条件值最终将是false。谁能帮忙?
【问题讨论】:
-
必须读作“如果
is不能读取字符串”。 -
那个代码太密集了。应该分两部分写:
is >> s; if (!is)....
标签: c++ operator-overloading iostream