title: Incrementing iterator out of range
body: <p>Is it illegal to increment random access iterator out of range?
  It turns out that Visual C++ implementation of vector triggers debug assertion.</p>
  
  <pre><code>std::vector&lt;int&gt; foo(5);
  auto iter = foo.begin();
  iter += 10;
  </code></pre>
  
  <p>This should be legal with pointers as long as memory location is not assessed.</p>
  
  <p>Edit: apparently it is illegal even with pointers.</p>