title: Two different values at the same memory address
body: <h3>Code</h3>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  
  int main() {
      const int N = 22;
      int * pN = const_cast&lt;int*&gt;(&amp;N);
      *pN = 33;
      cout &lt;&lt; N &lt;&lt; '\t' &lt;&lt; &amp;N &lt;&lt; endl;
      cout &lt;&lt; *pN &lt;&lt; '\t' &lt;&lt; pN &lt;&lt; endl;
  }
  </code></pre>
  
  <h3>Output</h3>
  
  <blockquote>
    <p>22      0x22ff74</p>
    
    <p>33      0x22ff74</p>
  </blockquote>
  
  <p>Why are there two different values at the same address?</p>