title: What is difference between iterators and pointers
body: <p>So I wrote this program and it works, but I am being told that I need to use iterators to move about in the functions that I wrote. I am currently using pointers but I thought they were basically the same things. And if there is a difference, how is an iterator used?</p>
  
  <p>UPDATE:
  So what I am understanding is that an iterator, unlike a pointer, will move to the next item in a list even if that item is not next sequentially in memory? Is this correct? But then how does it know where to move? I have programmed a binary tree that adds and deletes nodes. In each node there are pointers that point to the two children (or just one or none) and also a pointer that points to the parent. In the functions I recursively call the functions that I am using and passing the new pointers. I have a feeling that replacing what I have with iterators should be easy, but I am still unsure. </p>
  
  <p>update 2: 
  I have been doing some more reading and trying some examples and now I am confused on how to even declare an iterator. Everything I come across acts like I need to make another class just for the iterator. But when I try all I get is a list of compiler errors. Any help would be appreciated. Thanks</p>