Я ищу читаемый, элегантный способ сделать следующее на С++, здесь показано на Python:
for datum in data[1:]:
do work.
Итераторы данных, о которых идет речь, могут не поддерживать итераторы с произвольным доступом, поэтому я не могу просто использовать:
for (mIter = data.begin() + 1; mIter != data.end(); mIter++)
Лучшее, что я придумал, следующее:
iterable::iterator mIter = data.begin();
for (mIter++; mIter != allMjds.end(); mjdIter++) {
do work.
}
Он не слишком длинный, но он вряд ли раскрыт - на первый взгляд это на самом деле выглядит как ошибка!
Другое решение - иметь вспомогательную функцию "n-го элемента", я думаю. Любые более прохладные идеи?