Can I increment an iterator by just adding a number?
c++, iterator
Solution
It works if the iterator is a random access iterator, which vector's iterators are (see reference). The STL function `std::advance` can be used to advance a generic iterator, but since it doesn't return the iterator, I tend use + if available because it looks cleaner.
C++11 note
Now there is `std::next` and `std::prev`, which do return the iterator, so if you are working in template land you can use them to advance a generic iterator and still have clean code.
Problem
Can I do normal computations with iterators, i.e. just increment it by adding a number? As an example, if I want to remove the element `vec[3]`, can I just do this: ``` std::vector<int> vec; for(int i = 0; i < 5; ++i){ vec.push_back(i); } vec.erase(vec.begin() + 3); // removes vec[3] element ``` It works for me (g++), but I'm not sure if it is guaranteed to work.