C ++ equivalente di java.lang.Integer.MIN_VALUE
Domanda
Come posso ottenere un equivalente di java.lang.Integer.MIN_VALUE su C ++?
Soluzione
#include <limits>
std::numeric_limits<int>::min();
Altri suggerimenti
Dipende cosa si intende per "equivalente". java.lang.Integer.MIN_VALUE
è una costante della fase di compilazione in Java, ma std::numeric_limits<int>::min()
non è una costante espressione intera in C ++. Quindi non può essere utilizzato ad esempio come dimensione della matrice (o meglio, il valore minimo di un int non può in ogni caso perché è negativo, ma lo stesso vale per le espressioni che coinvolgono, o altri valori simili, o in altri contesti che richiedono un ghiaccio ).
Se avete bisogno di una costante fase di compilazione in C ++, utilizzare INT_MIN
da <climits>
. In realtà si può anche usare lo stesso: numeric_limits
è essenziale se si sta scrivendo codice generico, e si dispone di un certo tipo integer T che potrebbe essere int
, o potrebbe essere qualcos'altro. Il suo utilizzo primario altrimenti è quello di dimostrare la vostra leet C ++ skillz, e / o rendere il codice più a lungo; -)