I was under the assumption that STL functions could be used only with STL data containers (like vector) until I saw this piece of code:
vector
#include
Yes and this is on purpose. Iterators can be implemented as pointers and therefore you can use pointers as iterators.