<climits>
The <climits> header (from the C standard <limits.h> header) defines parameters that
characterize integral types in the same way <cfloat> does for the floating point
types. The native C++ header, <limits>, defines the same information
(and more) using templates instead of macros.
The types used in the descriptions of the _MIN and _MAX macros are meant as reminders and are not
descriptive of the actual types of the macro expansions. The actual
types are implementation-defined and can be any integral type that would
be the result of normal integral promotions for the corresponding
type—e.g., if unsigned char is promoted to int, UCHAR_MAX might have type int.
All of the macros in <climits> expand to constant
expressions.