What do you mean?  Here, &quot;auto&quot; is being used to define a variable, just like the way &quot;let&quot; does in other languages.<p><pre><code>    for (let i = results.begin( ); i != results.end( ); ++i)
</code></pre>
This matches the use of &quot;let&quot; in Haskell, Lisp, Rust, ES6, etc.<p>(Note that when I say &quot;variable&quot; in this context, I am using it as the hypernym, not in the sense where it denotes only mutable variables.)