-> is an operator used to access members of classes and structs. It is used when the variable is a pointer to a data structure. So in that example, b is a pointer to something and you are accessing member c of b
The arrow operator is a less verbose way of writing (*b).c which does the exact same thing
regarding ->, it means that b is a pointer to some structure or class that has c as a member. You're just using c from that class.
like so:
1 2 3 4 5 6 7 8 9 10 11 12
struct SomeType
{
int a;
int b;
int c;
};
SomeType o; // Creates object o;
cout << o.c; // outputs the value of c
SomeType* p = &o; // Creates pointer p, it points to object o
cout << p->c; // outputs the value of c