C++相談室 part69at TECHC++相談室 part69 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト150:147 09/05/10 19:52:38 >>148 ありがとうございます。 さっそく見てみます。 >>149 ありがとうございます。 宣言の方は std::ostream& operator << ~ で理解しました。 151:デフォルトの名無しさん 09/05/10 21:46:01 C++ code - 31 lines - codepad ttp://codepad.org/YWNCgmUO このソースはgccに付いてきた std::complex<~>のstd::istream& operator>>(std::istream&,complex&);のソースなのですが、 この if (__ch == ')') __x = complex<_Tp>(__re_x, __im_x); else __is.setstate(ios_base::failbit); が何をしているのか分かりません。 自分なりに推測するとstd::istreamで読み込んでいった結果、所定のフォーマットになっていない(閉じ括弧がおかしい)場合にエラーを伝えるべくsetstateとやらをしているようなのですが、 __is.setstate(ios_base::failbit); ってどういう意味ないし効力なのでしょうか? 152:デフォルトの名無しさん 09/05/10 22:00:38 std::ios::failbit が立つと、それ以降の入力は一切行われなくなる これがCとは違う所 この状態をクリアするにはis.clear()を行う 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch