title: comparing iterators from different containers
body: <p>Is it legal to compare iterators from different containers?</p>
  
  <pre><code>std::vector&lt;int&gt; foo;
  std::vector&lt;int&gt; bar;
  </code></pre>
  
  <p>Does the expression <code>foo.begin() == bar.begin()</code> yield false or undefined behavior?</p>
  
  <p>(I am writing a custom iterator and stumbled upon this question while implementing <code>operator==</code>.)</p>