C++, эквивалентный из java.lang. Целое число. MIN_VALUE

Как я могу получить эквивалент java.lang. Целое число. MIN_VALUE на C++?

12
задан dmessf 16 April 2010 в 16:52
поделиться

2 ответа

#include <limits>    
std::numeric_limits<int>::min();
19
ответ дан 2 December 2019 в 07:02
поделиться

Зависит от того, что вы подразумеваете под «эквивалентом». java.lang.Integer.MIN_VALUE - это константа времени компиляции в Java, но std :: numeric_limits :: min () не является целочисленным константным выражением в C ++. Таким образом, его нельзя использовать, например, в качестве размера массива (ну, минимальное значение int в любом случае не может, потому что оно отрицательное, но то же самое касается выражений, включающих его, или других подобных значений, или других контекстов, требующих льда ).

Если вам нужна константа времени компиляции в C ++, используйте INT_MIN из . Фактически, вы также можете использовать его в любом случае: numeric_limits необходим, если вы пишете общий код, и у вас есть некоторый целочисленный тип T, который может быть int или может быть чем-то еще . Его основное использование в противном случае - доказать, что вы владеете C ++, и / или сделать код длиннее; -)

3
ответ дан 2 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: