In this article the following is mentioned regarding reinterpret_cast
of integers and pointers:
(the round-trip conversi
There might not be an integral type that exactly matches the width of the platform's address space. intptr_t
has to be big enough to hold any pointer value, meaning it is as big or bigger than a pointer, and when it is bigger, the pigeonhole principle guarantees that it won't be possible for each integer value to have a unique void*
value.