Supongo que casteando el puntero void que me devuelve al objeto adecuado podría acceder a él, pero si tengo diferentes tipos de objetos, como saber que objeto me devuelve?Eso ya depende de cómo lo implementes tú. Ten en cuenta que si la lista contiene todo tipo de objetos, tienes que poder distinguir cada cuál. Podrías usar un tipo enumerado con los objetos que vayas a guardar en la lista, y lo incluyes en el nodo de la lista. También puede ser una buena idea incluir el tamaño del dato del nodo.
He estado dando vueltas al tema... y creo que no voy por el camino correcto.Es que depende de lo que quieras hacer.. a ver, lo más practico y reutilizable que se me ocurre para un usuario, de hacer una lista para poder guardar diferentes tipos de variables, o estructuras dentro es esto:
Me voy a explicar, donde yo trabajo tienen un game engine propio, este tiene su propio lenguaje script y lo interpreta en tiempo de ejecución. Me he acostumbrado mucho a este lenguaje y me gustaría utilizar algunas características de él en C++/SDL para crear mis juegos. Y para empezar lo primero que necesitaría es tener un tipo de variable global: Todas las variables pueden ser enteros, flotantes, booleanos, cadenas o cualquier objeto. Es algo así como un tipo de variable puntero pero que puede apuntar a cualquier tipo u objeto y acceder a sus propiedades o métodos.
Luego están las listas, aquí puedo crear listas que contengan todo tipo de objetos diferentes, pero claro, realmente quizás todo es el mismo objeto "puntero global". Incluso la lista seria un puntero porque se pueden anidar. Así si seria fácil.
Yo no puedo acceder al código de ese motor para ver como esta hecho por dentro. Por eso pregunto, es posible crear algo así en C++?
Se puede guardar en una variable el typeid de un objeto para luego castear usando esta variable? Se puede castear punteros void a punteros objeto sin saber el tipo, solo su tamaño?
Gracias! :hola: