title: Use the auto keyword in C++ STL
body: <p>I have seen code which use vector,</p>
  
  <pre><code>vector&lt;int&gt;s;
  s.push_back(11);
  s.push_back(22);
  s.push_back(33);
  s.push_back(55);
  for (vector&lt;int&gt;::iterator it = s.begin(); it!=s.end(); it++) {
      cout &lt;&lt; *it &lt;&lt; endl;
  }
  </code></pre>
  
  <p>It is same as</p>
  
  <pre><code>for (auto it = s.begin(); it != s.end(); it++) {
      cout &lt;&lt; *it &lt;&lt; endl;
  }
  </code></pre>
  
  <p>How safe is in this case the use of the auto keyword? And what about if type of vector is <code>float</code>? <code>string</code>?</p>