実行時に C++ プログラムで使用されるデフォルトのデータ型の変数にオーバーフローが発生したかどうかを検出する便利な方法があるのだろうか? 便利とは、値が変化するたびにデータ型の範囲内にある場合、各変数を追跡するコードを記述する必要がないことを意味します。または、これを達成することが不可能である場合、どのようにしますか?
例えば、
float f1=FLT_MAX+1;
cout << f1 << endl;
「gcc -W -Wall」を使用したコンパイルでも実行でも、エラーや警告は発生しません。
よろしくお願いします!