如何在 C++ 上获得等效的 java.lang.Integer.MIN_VALUE?
问问题
4282 次
2 回答
19
#include <limits>
std::numeric_limits<int>::min();
于 2010-04-16T16:54:09.143 回答
3
取决于您所说的“等效”是什么意思。java.lang.Integer.MIN_VALUE
在 Java 中是编译时常量,但std::numeric_limits<int>::min()
在 C++ 中不是整数常量表达式。因此它不能用作例如数组大小(嗯,int 的最小值无论如何都不能,因为它是负数,但涉及它的表达式或其他类似值或其他需要冰的上下文也是如此)。
如果您需要 C++ 中的编译时常量,请使用INT_MIN
from <climits>
。事实上,无论如何你都可以使用它:numeric_limits
如果你正在编写通用代码,这是必不可少的,并且你有一些整数类型 T 可能是int
,或者可能是其他东西。它的主要用途是证明您的 leet C++ Skillz,和/或使您的代码更长;-)
于 2010-04-16T23:26:58.160 回答