You should really get a C/C++ Book and learn your language, before you start programming.
->
is the dereferencing operator for Pointers. When you have a pointer gpspointer
the expression (*gpspointer)
returns the object gpspointer
points to. (*gpspointer).begin(baud)
is the same as gpspointer->begin(baud)
. It just increases readability.
Your code will recurse only if gpspointer=this
.