title: Looping on C++ iterators starting with second (or nth) item
body: <p>I am looking for a readable, elegant way to do the following in C++, here shown in Python:</p>
  <pre><code>for datum in data[1:]:
      # do work.
  </code></pre>
  <p>The iterators on the data in question may not support random access iterators, so I can't just use:</p>
  <pre><code>for (mIter = data.begin() + 1; mIter != data.end(); mIter++)
  </code></pre>
  <p>The best I've come up with is the following:</p>
  <pre><code>iterable::iterator mIter = data.begin();
  for (mIter++;  mIter != allMjds.end(); mjdIter++) {
      // do work.
  }
  </code></pre>
  <p>It's not too lengthy, but it's hardly expository - at first glance it actually looks like a mistake!</p>
  <p>Another solution is to have an &quot;nth element&quot; helper function, I guess. Is there a more concise way?</p>