3

定数式で nan/inf をシミュレートする方法はありますか? C マクロ HUGE_VAL と INFINITY などを使用してください。さらに、それらを使用しても、まだ constexpr ではありません。

C++ 標準ライブラリまたは C 標準ライブラリが提供する標準関数を使用したくありません。

もちろん、以下はコンパイルされません。コンパイラは constexpr 変数を定数式で初期化する必要があると言います...

template<typename T = double>
constexpr T NaN = T(0.0 / 0.0);

MSVC コンパイラが使用するメソッドもコンパイルされません。

template<typename T = double>
constexpr T NaN = T(1e+300); //with some changes, apparently having the float overflow

これは大まかなことですが、これはライブラリ用であり、知識に基づいたアドバイスを探しています! ありがとう!

4

0 に答える 0