istream operator>>を使用してデータを読み取り、関数は istream への参照を返します。
例えば、
istream& operator>> (bool& val);
しかし、istream が条件ステートメント内で使用されると、どのようにブール値に変換されるのでしょうか。
例えば、
ifstream ifs(.....); // open the file
istream &is = (istream&)ifs;
char c;
if(is >> c) // how the istream is been evaluated into as bool
{
// character read
}
条件式内で bool に変換される方法を説明できる人はいますか?