在while循环条件下,getline()如何计算为true或false?

时间:2018-07-02 00:49:30

标签: c++

例如while(getline( , ))

什么时候这种条件为真/假?为什么要用它们代替其他情况条件?

1 个答案:

答案 0 :(得分:4)

  

这种情况何时为真

假设documentation of std::getline()的返回值是该操作所涉及的流的std::istream引用,那么该流如何计算为true或{ {1}}。

这是使用从false类继承的重载cast operator to bool来完成的。
此类定义表示当前流状态的状态标志,并且仅在流状态为std::ios时评估true,其他状态如goodeof评估为fail


  

为什么要用它们代替其他情况?

高度相关的问答:Why is iostream::eof inside a loop condition considered wrong?