What's the C++ equivalent of UINT32_MAX?

Viewed 83318

In C99, I include stdint.h and that gives me UINT32_MAX as well as uint32_t data type. However, in C++ the UINT32_MAX gets defined out. I can define __STDC_LIMIT_MACROS before including stdint.h, but this does not work if someone is including my header after already including stdint.h themselves.

So in C++, what is the standard way of finding out the maximum value representable in a uint32_t?

6 Answers

The maximum value for any unsigned integer type T is T(~T(0)).

Related