1) Do I have any real reason to use pointers over references here? So far I managed to pull off everything I tried with references only, maybe it could have been done more efficiently though using pointers I really have no idea.

I see, so those are the scenarios I need to be looking for? Other than that should I just use references everywhere?