title: Can we increase an iterator multiple positions without the 'advance' function?
body: <p>I know we can use <code>advance()</code> function to increment the iterator. We also use <code>iterator++</code> to increase the iterator by one position.  Why we cannot use <code>it+=2</code>?</p>
  
  <pre><code>int main()
  {
      list&lt;int&gt; l1{1, 2, 3, 5, 6};
      list&lt;int&gt; l2{2, 6, 8};
      auto it = l1.begin();
      advance(it, 2);         //works
      it++;                   //works
      // it+=2;                  //not work
      l2.splice(l2.begin(), l1, it);
  
      for(int a: l2) cout&lt;&lt;a&lt;&lt;" ";
      cout&lt;&lt;endl;
  
      return 0;
  }
  </code></pre>
  
  <p>You can run the above code <a href="https://onlinegdb.com/ry8MeNeh7" rel="noreferrer">here</a>.</p>