title: How can a pointer be implemented except storing an address?
body: <p>Recently I answered <a href="https://stackoverflow.com/questions/3933263/questions-every-good-c-c-developer-should-be-able-to-answer">another question asking for <em>questions every decent C++ programmer should be able to answer</em></a>. <a href="https://stackoverflow.com/questions/3933263/questions-every-good-c-c-developer-should-be-able-to-answer/3933283#3933283">My suggestion</a> was</p>
  
  <pre><code>Q: How does a pointer point to an object?
  A: The pointer stores the address of that object.
  </code></pre>
  
  <p>but <a href="https://stackoverflow.com/users/379897/r">user R..</a> disagrees with the A I propose to the Q - he says that <em>The correct answer would be "it's implementation-specific". While present-day implementations store numeric addresses as pointers, there's no reason it couldn't be something much more elaborate</em>.</p>
  
  <p>Definitely I can't disagree that there <em>could be</em> other implementations except storing an address just for the sake of disagreeing. I'm really interested what other really used implementations are there.</p>
  
  <p>What are other actually used implementations of pointers in C++ except storing an address in an integer type variable? How is casting (especially <code>dynamic_cast</code>) implemented?</p>