なぜstd :: numeric_limits :: max()が関数ですか?
-
03-10-2019 - |
質問
の中に C ++標準ライブラリ 値 std::numeric_limits<T>::max()
関数として指定されています。特定のタイプのさらなるプロパティは定数として与えられます(std::numeric_limits<T>::is_signed
)。タイプのすべての定数 T
関数として与えられますが、他のすべての定数は、まったく一定の値として与えられます。
その背後にある理論的根拠は何ですか?
解決
ニールの発言を拡大するために、 std::numeric_limit<T>
フローティングポイント番号を含む任意の数字タイプで利用できます、そしてあなたが掘る場合 comp.lang.c ++ スレッドでは、浮動小数点値の静的変数を定義することができないかもしれないという言及がわかります。
したがって、一貫性のために、彼らは積分ポイントとフローティングポイントの両方をメソッドの背後に置くことにしました。
C ++ 0xで変化するので、希望があります。
所属していません StackOverflow