The operator -> is used to overload member access. A small example:
#include <iostream> struct A { void foo() {std::cout << "Hi" << std::endl;} }; struct B { A a; A* operator->() { return &a; } }; int main() { B b; b->foo(); return 0; } This outputs:
Hi