結果が正しい型 (int、float、double など) であるかどうかを確認し、そうでない場合に例外をスローしてキャッチするにはどうすればよいですか?
皆さんありがとう、
ヴラド。
何があなたに「結果」を与えているかについてもっと詳しく教えてください。あなたはそこからあなたが必要としているものを決定することができ、より良い方法でより可能性が高いかもしれません。
タイプを確認するだけの場合は、を使用しますtypeid
。詳細はこちら
投稿を編集するダニエルのモデルに従って、何か他のことを述べた後、実際に質問に答えます...
私の他のコメントから:
結果が出る前にこれを行う必要があります。後でオーバーフローをチェックするのは良い考えではありません。追加する前に数値をチェックして、オーバーフローするかどうかを確認するか、入力をタイプの最大値の半分未満に制限してください
C++ で実行時にそれを知る方法はありません。これらはコンパイル時のエラーです。
2 番目の質問に答えるには、バッファ オーバーフロー/アンダーフローを手動でチェックするか、より適切なデータ型を使用する必要があります。
最も近いのはdynamic_castです。