Ayuda operador -> en C++

Iniciado por Zodiak98, 28 Abril 2013, 18:16 PM

0 Miembros y 1 Visitante están viendo este tema.

Zodiak98

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. :)

Blaster

#1
 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:
Código (cpp) [Seleccionar]
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:
Código (cpp) [Seleccionar]
string *cadena = new string;

cadena->size();
cadena->append();
cadena->length();


Un Saludo!!  ;)

0xDani

En realidad todas las variables están en memoria xDD Querrías decir cuando creas una variable dinámicamente.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Ferno

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 )