Guillermo
2006-01-08 20:19:59 UTC
Hola
Estoy trabajando en un programa el usa listas enlazadas. Hice mi propia
libreria con todas las operaciones sobre listas que necesitaba, como
por ejemplo insertar_elem, delete_elem, etc. La libreria funciona para
un tipo de dato especifico, un struct de mi programa. Ahora necesito
manejar listas para otro tipo de datos de mi programa. Lo usual es que
si se desea tener una libreria de operaciones de listas que sirva para
todo tipo de datos, entoces se hace que ella maneje apuintadores a void
(void *). De esta manera no se duplica codigo teniendo que escribir
funciones homologas para cada tipo de datos. El problema con tener una
libreria que trabaje con (void *) es que es, segun la literatura, es
menos eficiente que hacer las operaciones con el tipo de dato con que
se desea trabajar. Mi pregunta es ¿que tan cierto es esto?. Mi
programa tiene muy eficiente, pero no se si vale la pena escribir el
mismo codigo de las operaciones de listas para otro tipo de dato.
Gracias por sus opiniones
Guillermo
Estoy trabajando en un programa el usa listas enlazadas. Hice mi propia
libreria con todas las operaciones sobre listas que necesitaba, como
por ejemplo insertar_elem, delete_elem, etc. La libreria funciona para
un tipo de dato especifico, un struct de mi programa. Ahora necesito
manejar listas para otro tipo de datos de mi programa. Lo usual es que
si se desea tener una libreria de operaciones de listas que sirva para
todo tipo de datos, entoces se hace que ella maneje apuintadores a void
(void *). De esta manera no se duplica codigo teniendo que escribir
funciones homologas para cada tipo de datos. El problema con tener una
libreria que trabaje con (void *) es que es, segun la literatura, es
menos eficiente que hacer las operaciones con el tipo de dato con que
se desea trabajar. Mi pregunta es ¿que tan cierto es esto?. Mi
programa tiene muy eficiente, pero no se si vale la pena escribir el
mismo codigo de las operaciones de listas para otro tipo de dato.
Gracias por sus opiniones
Guillermo