C++ эквивалент java.lang.Integer.MIN_VALUE

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

2 ответа

Решение
#include <limits>    
std::numeric_limits<int>::min();

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

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

Другие вопросы по тегам