istreamオブジェクトをbool式として使用できる理由を知っている人はいますか?たとえば、なぜistreamオブジェクトはbool式として使用できますか?
ここでinput >> iValue
はifstreamオブジェクトへの参照を返します。このオブジェクトがなぜbool式として使用できるのかを知りたい。
私ははifstreamクラスに見て、これは以下のメンバ関数によるものであろうことを見つける:
operator void * () const;
が、この機能についての詳細はhereを参照してください。
それは誰でも私にこの機能を説明することができますか?この関数のプロトタイプは、通常の演算子オーバーロード宣言とは異なります。この関数の戻り値の型は何ですか?
そうでなければ、ifstreamオブジェクトをbool式として使用できる理由は何ですか?
お手数をお待ちしております!
チェン
まあは簡単な答えを持つにもかかわらず、質問をしました。 –
C++ 11以降では、実際には '明示的な演算子bool()' –