title: dereferencing pointer that was cast to double pointer
body: <p>I am having some trouble understanding these two lines of code.</p>
  
  <pre><code>T* Result = Free;
  Free = *((T**)Free);
  </code></pre>
  
  <p>Where T is a template class and Free is defined as;</p>
  
  <pre><code>T* Free;
  </code></pre>
  
  <p>Is it just creating a new pointer to some other memory address? </p>
  
  <p><a href="http://jfdube.wordpress.com/2011/10/06/memory-management-part-2-allocations-tracking/" rel="nofollow">http://jfdube.wordpress.com/2011/10/06/memory-management-part-2-allocations-tracking/</a></p>
  
  <p>This is the context, in the Freelist class within the New() function.</p>