Suppose i have a
std::vector v
//and ...
for(int i =0;i<100;++i)
v.push_back(i);
now i want an iterator to, let\'s say 10t
This will work with any random-access iterator, such as one from vector
or deque
:
std::vector<int>::iterator iter = v.begin() + 10;
If you want a solution that will work for any type of iterator, use next
:
std::vector<int>::iterator iter = std::next(v.begin(), 10);
Or if you're not on a C++11 implementation, advance
:
std::vector<int>::iterator iter = v.begin();
std::advance(iter, 10);
Just add 10 to the iterator. They are intended to "feel" like pointers.