what's the size of hex value of some memory address converted to int or other type?
<p>For example:</p>

<pre><code>int* x = new int;
int y = reinterpret_cast&lt;int&gt;(x);
</code></pre>

<p><code>y</code> now holds the integer value of the memory address of variable <code>x</code>.
Variable <code>y</code> is of size <code>int</code>. Will that <code>int</code> size always be large enough to store the converted memory address of ANY TYPE being converted to <code>int</code>?</p>

<p><strong>EDIT:</strong> 
Or is safer to use <code>long int</code> to avoid a possible loss of data?</p>

<p><strong>EDIT 2</strong>: Sorry people, to make this question more understandable the thing I want to find out here is the size of returned HEX value as a number, not size of int nor size of pointer to int but plain hex value. I need to get that value in in human-readable notation. That's why I'm using <code>reinterpret_cast</code> to convert that memory HEX value to DEC value. But to store the value safely I also need to fing out into what kind of variable to it: int, long -  what type is big enough?</p>
