итерация контейнера STL не из .begin () ing и обертывание

У меня есть std :: vector, скажем, целые числа для простоты.

std::vector<int> ivec;
ivec.push_back(1);
ivec.push_back(2);
... //omitting some push back's 3 to 99
ivec.push_back(100);

Стандартный способ итерации известен

std::map<int>::iterator it;
for( it = ivec.begin(); it != ivec.end(); it++ ) 
  print();

Эта итерация выводит 1,2,3, ... 100.

Я хочу пройти по всем элементам вектора, начиная с предопределенного индекса, а не с него. ). Я хотел бы напечатать

3,4,5,6 ... 99, 100, 1, 2

Вы можете здесь поделиться своими мыслями?

Можно сделать это в два этапа

for( it = ivec.begin()+index; it != ivec.end(); it++ ) and then (if index !=0)

for ( it = ivec.begin; it = it = ivec.begin() + (index-1); it++)
10
задан cateof 16 December 2011 в 10:38
поделиться