c++にあるiteratorとはpointerとは違うものだというのは分かるのですがどういうものなのでしょうか