为什么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