Once you finish the compiler, you'll have a strong understanding of how this and THIS work. Any time you see something like:
The value of THIS changes. It is this feature (no pun intended) that gives an object method it's object scope, or, in other words, associates the method call bar() with the object foo's state, upon which bar() is called.
THAT is a little more elusive. Let's just say that having a second, adjustable pointer to a virtual memory segment is a huge convenience.
Stick w/ the compiler -- write back if you're still confused about this and that.