C++ эквивалент java.lang.Integer.MIN_VALUE
Как я могу получить эквивалент java.lang.Integer.MIN_VALUE на C++?
2 ответа
Зависит от того, что вы подразумеваете под "эквивалентом". java.lang.Integer.MIN_VALUE
константа времени компиляции в Java, но std::numeric_limits<int>::min()
не является целочисленным константным выражением в C++. Таким образом, его нельзя использовать, например, в качестве размера массива (ну, в любом случае минимальное значение типа int не может, потому что оно отрицательное, но то же самое относится и к выражениям, в которых он содержится, или другим подобным значениям, или другим контекстам, требующим использования льда).
Если вам нужна постоянная времени компиляции в C++, используйте INT_MIN
от <climits>
, На самом деле вы можете использовать его в любом случае: numeric_limits
важно, если вы пишете общий код, и у вас есть целочисленный тип T, который может быть int
или может быть что-то еще. В противном случае его основное применение - доказать свои навыки в C++ и / или сделать код длиннее;-)