Can someone explain when to use iterators in vectors c++, what is the difference between accessing it directly(vec[i]) and accessing it using iterators(*it)?