伊谢尔伦2017-04-17 14:59:46
は std::basic_ios
内の operator bool
を定義します:
そのため、標準 IO ストリームを if (!cin)
の形で bool
で判定すると、operator bool
が呼び出され、返された結果が if の判定条件として使用されます。
そのため、cin
入力ストリームでエラーが発生すると、if (!cin)
の条件が true と判断されます。このとき、cin.clear()
を呼び出してストリームの状態をリセットし、cin.ignore()
を呼び出すことができます。 > を呼び出して入力バッファをクリアし、最後の入力が次の入力に与える影響を排除できます。
通常、最初のパラメータは 2 番目のパラメータ 'n' のみが実際に有効になるように十分な大きさに設定され、キャリッジ リターンの前の入力文字を入力バッファ ストリームから消去できます。次に、次の入力を読み取ってみます。
リーリー