In C++,why reference can't change when it is Initialize? : <p>In c++ primer,the book says the concept that when reference is initialized,it can't change .But I found a problem,here is the coding:</p>

<pre><code>int a[]={1,2,3,4};
for(auto &amp;c:a)cout&lt;&lt;c;
</code></pre>

<p>Then,the output is the element of a.But c is a reference here,why it can bind with different element of the array？I don't understand that.</p>
