title: A list iterator reference - Program output
body: <p>Given the following algorithm:</p>
  <pre><code>#include &lt;iostream&gt;
  #include &lt;list&gt;
  
  int main ()
  {
    std::list&lt;int&gt; mylist = {5,10,15,20};
  
    std::cout &lt;&lt; &quot;mylist contains:&quot;&lt;&lt;&quot;\n&quot;;
  
    //for (auto it = mylist.begin(); it != mylist.end(); ++it)
    auto it = mylist.begin();
    while ( it != mylist.end())
    {
        std::cout &lt;&lt; *it;
        std::cout &lt;&lt; &quot;    &quot;&lt;&lt; &amp;it&lt;&lt;std::endl;
        it++;
    }
  
    std::cout &lt;&lt; '\n';
  
    return 0;
  }
  </code></pre>
  <p>The output of this program is:</p>
  <pre><code>mylist contains:
   5     0x7dc9445e5b50
   10    0x7dc9445e5b50
   15    0x7dc9445e5b50
   20    0x7dc9445e5b50
  </code></pre>
  <p><strong>Since we are moving our iterator, why the address doesn't change?</strong></p>
  <p>I was excepting a 4 bytes offset of the reference.</p>