SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: x_reaccion en Domingo 15 de Julio de 2007, 11:51

Título: Punteros Void*
Publicado por: x_reaccion en Domingo 15 de Julio de 2007, 11:51
Hola

¿se puede crear un puntero void y luego obtener su valor asignandole un tipo?
por ejemplo, guardo un tipo de dato cualquiera en un tipo void*, luego al momento de querer recuperar ese puntero o valor colocandolo en otra variable asignandole un tipo especifico, como lo ago?

Pd: sorry, no me supe explicar mejor.
Pd2: si no se puede serap =/
Título: Re: Punteros Void*
Publicado por: Diodo en Domingo 15 de Julio de 2007, 12:38
Hola

En c++ se hace de con un cast forzoso

por ejemplo:

void *ptro;
Clase *ptroC = new Clase();
ptro = ptroC;
Clase otra = (Clase) (*ptro);

No lo he probado pero creo que era asi

salu2
Título: Re: Punteros Void*
Publicado por: x_reaccion en Domingo 15 de Julio de 2007, 21:23
Hola

puse a prueba tu ejemplo

Código: Text
  1. void *ptro;
  2. Clase *ptroC = new Clase();
  3. ptro = ptroC;
  4. Clase otra = (Clase) (*ptro);
  5.  

con otro ejemplo

Código: Text
  1. int fisrtValue = 5;
  2. void* voidPointer = &fisrtValue;
  3. int* intPointer = (int*)voidPointer; //aquí obtengo el valor(5)
  4. int _address = (int)(intPointer); //aquí la dirección del puntero
  5.  

YEAH! no era tan dificil, gracias Diodo.