I'm having a bit of confusion on how to use different types of pointers to class members. Like "Class.Member" versus "Class->Member". What situations would you use each of those for and such?
You could overload the operator-> for use with objects.
By instance iterators assign it the same meaning as (*iterator).member (as happen with pointers)