• Domingo 17 de Noviembre de 2024, 19:47

Autor Tema:  Punteros Void*  (Leído 1466 veces)

x_reaccion

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Punteros Void*
« en: Domingo 15 de Julio de 2007, 11:51 »
0
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 =/
u.u no quiero cumplir 20 T_T

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Punteros Void*
« Respuesta #1 en: Domingo 15 de Julio de 2007, 12:38 »
0
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

x_reaccion

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: Punteros Void*
« Respuesta #2 en: Domingo 15 de Julio de 2007, 21:23 »
0
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.
u.u no quiero cumplir 20 T_T