• 締切済み

この式の意味

こんにちは。 よろしくお願いいたします。 すみませんが、次の式を解説して頂けるとありがたいです。 ofstream 関係です。 場所は、_ios_base.h ファイルの中です。 operator void*() const { return !fail() ? (void*) __CONST_CAST(ios_base*,this) : (void*) 0; }

みんなの回答

回答No.1

void * 型にキャストしたときに、ファイルが 正常にオープン出来てれば、そのオブジェクト 自体のアドレスを、そうでなければ、0 (= NULL) を返す ということです。 std::ofstream otf("filename"); if (otf == 0) { otf のオープンに失敗した; } などという処理が出来るのは、 otf == 0 で、otf を void * に変換 しようとして、上記の関数が呼ばれる からです。

chie_tanom
質問者

お礼

回答ありがとうございました