Se llama
operador flecha y es usado cuando quieres acceder a un miembro de una clase a la que estás apuntando con determinado puntero, es decir, supongamos que tienes el siguiente código:
Código:
ClaseX objetoA;
objetoA.propiedad = 123;
objetoA.metodo1();
Estás declarando un objeto llamado "objetoA" del tipo "ClaseX" y estás modificando una propiedad y ejecutando un método, ahora supongamos que tenemos un puntero que "apunta" a objetoA:
Código:
ClaseX objetoA;
ClaseX *ptrObjetoA = &objetoA;
Para ejecutar el primer ejemplo usando el puntero puedes hacerlo de la siguiente manera:
Código:
ClaseX objetoA;
ClaseX *ptrObjetoA = &objetoA;
(*ptrObjetoA).propiedad = 123;
(*ptrObjetoA).metodo1();
Estás desreferenciando el puntero para poder acceder a objetoA, sin embargo también puedes hacerlo usando el operador flecha (es la manera en la que muchos programadores lo hacen);
Código:
ClaseX objetoA;
ClaseX *ptrObjetoA = &objetoA;
ptrObjetoA->propiedad = 123;
ptrObjetoA->metodo1();
Ese puntero puede ser un parámetro de una función (por mencionarte un ejemplo) o una estructura.
Saludos