title: std::istream_iterator stops advancing
body: <p>Why does the following program output </p>
  
  <pre><code>1 2 3 4 4 4
  </code></pre>
  
  <p>and not</p>
  
  <pre><code>1 2 3 4 5 6
  </code></pre>
  
  <p>for each of the values provided?</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;iterator&gt;
  #include &lt;vector&gt;
  #include &lt;string&gt;
  #include &lt;sstream&gt;
  
  int main()
  {
  
      std::vector&lt;int&gt; numbers;
      std::stringstream ss;
      ss &lt;&lt; " 1 2";
      std::istream_iterator&lt;int&gt; start{ss},end;
      ss &lt;&lt; " 3 4";
      numbers.push_back(*start++);
      numbers.push_back(*start++);
      numbers.push_back(*start++);
      ss &lt;&lt; " 5 6";
      numbers.push_back(*start++);
      numbers.push_back(*start++);
      numbers.push_back(*start++);
  
      std::cout &lt;&lt; "numbers read in:\n";
      for (auto number : numbers) {
          std::cout &lt;&lt; number &lt;&lt; " ";
      }
      std::cout &lt;&lt; "\n";
  }
  </code></pre>