Почему этот код работает?
От: Посторонним В. Беларусь  
Дата: 02.09.07 18:30
Оценка:
Ниже привожу много где мною виденный способ чтентя текстового файла:
std::ifstream f("f:\\temp\\test.txt");
if (!f.is_open() || f.fail())
    return false;
std::string s;
while (std::getline (f, s))
    std::cout << s << "\n";

Код вполне работает, но меня смущает выделенный фрагмент.
По документации std::getline возвращает basic_istream&.
Я вот не пойму как можно ссылку на объект проверять на неноль в цикле while().
Это же не указатель, да и переопределенного оператора вроде operator bool у basic_istream тоже нету.
Никак не пойму.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.