例如while(getline( , ))
什么时候这种条件为真/假?为什么要用它们代替其他情况条件?
答案 0 :(得分:4)
这种情况何时为真
假设documentation of std::getline()
的返回值是该操作所涉及的流的std::istream
引用,那么该流如何计算为true
或{ {1}}。
这是使用从false
类继承的重载cast operator to bool
来完成的。
此类定义表示当前流状态的状态标志,并且仅在流状态为std::ios
时评估true
,其他状态如good
或eof
评估为fail
。
为什么要用它们代替其他情况?
高度相关的问答:Why is iostream::eof inside a loop condition considered wrong?