2010-04-16 22 views

Respuesta

19
#include <limits>  
std::numeric_limits<int>::min(); 
+0

Esa es la manera más fácil. – Opera

+3

@Opera: Y la forma correcta también. :) – jalf

3

Depende de lo que quiere decir con "equivalente". java.lang.Integer.MIN_VALUE es una constante en tiempo de compilación en Java, pero std::numeric_limits<int>::min() no es una expresión constante en C++. Por lo tanto, no se puede usar, por ejemplo, como un tamaño de matriz (bueno, el valor mínimo de un int no puede de todos modos porque es negativo, pero lo mismo ocurre con las expresiones que lo involucran u otros valores similares u otros contextos que requieren un hielo)

Si necesita una constante de tiempo de compilación en C++, use INT_MIN desde <climits>. De hecho, también puede usarlo de todos modos: numeric_limits es esencial si está escribiendo código genérico, y tiene algún tipo entero T que podría ser int, o podría ser algo más. Su uso principal de lo contrario es demostrar su destreza en C++ C++, y/o hacer que su código sea más largo ;-)

+0

Aunque en C++ 0x es una expresión constante. :) – GManNickG

+0

Voy a creer en C++ 0x cuando me pongo de espaldas levantándolo ;-) –