title: Which is preferable for each, in or for_each?
body: <p>When using Visual Studio, I can write a container traversal in at least the following three ways. Which way is preferable? Assuming:</p>
  
  <pre><code>vector&lt;CString&gt; strings1;
  </code></pre>
  
  <p>Method 1 (using the <code>for_each</code> algorithm with a lambda:</p>
  
  <pre><code>for_each(strings1.begin(), strings1.end(), [](CString s){
     _tprintf(_T("%s"), s);
  }
  </code></pre>
  
  <p>Method 2 (using <code>for each, in</code>, microsoft specific):</p>
  
  <pre><code>for each(auto s in strings1)
  {
     _tprintf(_T("%s"), s);
  }
  </code></pre>
  
  <p>Method 3 (treat the vector with array syntax):</p>
  
  <pre><code>for (int i=0; i&lt;v.size(); ++i)
  {
     _tprintf(_T("%s"), v[i]);
  }
  </code></pre>
  
  <p>I am aware that method 2 is not portable, but I don't care about being portable. This only needs to work in Windows.</p>