Как я могу получить эквивалент java.lang.Integer.MIN_VALUE на С++?
С++ эквивалент java.lang.Integer.MIN_VALUE
Ответ 1
#include <limits>
std::numeric_limits<int>::min();
Ответ 2
Зависит от того, что вы подразумеваете под "эквивалентом". java.lang.Integer.MIN_VALUE
- константа времени компиляции в Java, но std::numeric_limits<int>::min()
не является целым константным выражением в С++. Поэтому он не может использоваться, например, как размер массива (ну, минимальное значение int не может, так как оно отрицательно, но то же самое относится к выражениям, связанным с ним, или к другим подобным значениям или к другим контекстам, требующим льда).
Если вам нужна константа времени компиляции в С++, используйте INT_MIN
из <climits>
. Фактически вы также можете использовать его в любом случае: numeric_limits
имеет важное значение, если вы пишете общий код, и у вас есть целочисленный тип T, который может быть int
, или может быть чем-то другим. Его основное использование в противном случае заключается в том, чтобы доказать ваш leet С++ skillz и/или сделать ваш код более длинным; -)