Auto reference for const array
<p>I'm getting into C++11 and really can't understand why this happens:   </p>

<pre><code>const int arrSource[4] = { 5,7,6,4 };
for (auto&amp; i : arrSource) {
    std::cout &lt;&lt; i &lt;&lt; " ";
    ++i; //error
}
</code></pre>

<p>It says that <code>i</code> must be a modifiable lvalue and <code>i</code>: you cannot assign to a variable that is <code>const</code>.</p>

<p>So it means, that if the <code>arrSource[]</code> is <code>const</code>, it makes <code>i</code> <code>const</code> too?</p>