<分区>
我是 std::getline(...)
处女并在 cppreference.com 查阅文档和示例,我对这样的示例代码感到困惑:
#include <sstream>
#include <string>
int main(int argc, char* argv[])
{
std::string line;
std::ifstream infile("sample.txt");
while (std::getline(infile, line))
{
// Do stuff
}
return 0;
}
...特别是 while 语句:while (std::getline(infile, line))
.
提到的文档说 std::getline(std::basic_istream<CharT,Traits>& input, ...)
的返回值是input
,即对第一个参数的引用。
那么getline
的返回值如何用作 while 循环的条件,需要是 bool
类型?
是否 std::ifstream
实现 operator bool()
?