What's the difference between std::advance and std::next?
c++, c++11, std
Solution
`std::advance`
- modifies its argument
- returns nothing
- works on input iterators or better (or bi-directional iterators if a negative distance is given)
`std::next`
- leaves its argument unmodified
- returns a copy of the argument, advanced by the specified amount
- works on forward iterators or better (or bi-directional iterators if a negative distance is given))
Problem
Is there more beyond advance takes negative numbers?