Hola bueno necesito saber que es exactamente el operador -> y cual es la diferencia entre -> y un puntero (*) porqué me puse a buscar y parece que tienen alguna referencia. :)
Se usa para acceder a los miembros de una clase instanciada en memoria un ejemplo, si creas una variable string "cadena". Esta creando una instancia de la clase "String" llamada "cadena"
Para acceder a sus miembros/funciones miembro, debes poner un punto despues del nombre de la instancia, asi:
cadena.size();
cadena.append();
cadena.length();
Cuando creas una instancia en memoria, no se puede acceder de esa forma. Si no que debes usar " -> " que es el operador flecha, quedaria asi:
string *cadena = new string;
cadena->size();
cadena->append();
cadena->length();
Un Saludo!! ;)
En realidad todas las variables están en memoria xDD Querrías decir cuando creas una variable dinámicamente.
Saludos.
Más específicamente:
struct->campo == (*struct).campo
Ese struct puede ser tanto una estructura como un objeto (para acceder a los atributos de una clase, que bueno, a nivel máquina es una estructura también xD )