istream オブジェクトを bool 式として使用できる理由を知っている人はいますか? 例えば:
ifstream input("tmp");
int iValue;
while (input >> iValue)
//do something;
ここでinput >> iValue
は、ifstream オブジェクトへの参照を返します。このオブジェクトをブール式として使用できる理由を知りたいです。
ifstream クラスを調べたところ、次のメンバー関数が原因である可能性があることがわかりました。
operator void * ( ) const;
この機能の詳細については、こちらを参照してください。
もしそうなら、誰かが私にこの機能を説明できますか? この関数のプロトタイプは、通常の演算子のオーバーロード宣言とは異なります。この関数の戻り値の型は何ですか?
そうでない場合、ifstream オブジェクトを bool 式として使用できる理由は何ですか?
あなたの助けを楽しみにしています!
チェン