title: Pointer to memory location stored in uint64_t
body: <p>If I have the address of a memory location stored in a variable, i.e. <code>uint64_t</code> for 8 byte pointers on 64-bit systems, can I use the value stored in the <code>uint64_t</code> to create a new pointer pointing to the memory location that it holds?</p>
  
  <pre><code>struct Node { .. };
  Node* node = new Node(5);
  uint64_t addr = (uint64_t)static_cast&lt;void*&gt;(&amp;node); // 8 byte pointer
  </code></pre>
  
  <p>For example the address of node is <code>0x7fff76bb4880</code>, <code>addr</code> stores <code>140735185373312</code> (the dec representation), and I want a new pointer <code>Node* new_ptr = (Node*)0x7fff76bb4880</code>.</p>
  
  <p>I realize this will be platform specific. </p>