Personaje,
La palabra que estas buscando es 'template'.
sds
On 4/30/07, personaje <[EMAIL PROTECTED]> wrote:
On 4/30/07, Sebastián Santisi <[EMAIL PROTECTED]> wrote:
> personaje escribió:
> > On 4/28/07, *Jeronimo* <[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> > Podes generar los arrays dinamicamente según el tipo y asi no
> > tendrías que castearlos,
> >
> >
> > no se si entiendo bien, los arrays son dinámicos, pero el tipo es
> > siempre float, es verdad lo que dijeron en otros mails y estoy
> > haciendo cagadas, por ahora lo dejo así confiando en que no genera
> > problemas (porfi porfi), pero lo tengo en cuenta para la próxima. Las
> > soluciones que me proponen (usar un long long y dividir, etc) no creo
> > que sean las adecuadas, y me inclino más por usar polimorfismo y
> > multimétodos, pero eso le agrega un nivel de complejidad al proyecto
> > que todavía no puedo darle.
> De todos modos; si estás cambiando el enfoque y pensando a las cosas
> como bytes y no como floats, sería más correcto que si quisieras ser
> genérico pensaras la utilidad como memoria sin nombre y lo almacenaras
> sobre tipos de un byte (i.e.: chars).
el problema de caer en ese enfoque es que el código tiene que estar al tanto
del tipo de dato cada vez, es decir que tengo que mantener algún tipo de
RTTI, por eso pienso pasar a una clase base genérica con los derivados
basados en el tipo de dato específico (hechos con un template) y un
despachador para multimetodos basado en los tipos de datos para ejecutar el
código adecuado (no se entendió no?)...
> Por otro lado; nadie te lo sugirió... pero, ¿no sería más razonable
> que hicieras lectura binaria?; a las funciones de lectura y escritura
> binarias le importan poco los tipos de lo que leen y escriben, y te
> escupen los bytes sobre memoria sin nombre de tipo void*; de esa manera
> te olvidás absolutamente de cualquier cosa referida al trabajo de bajo
> nivel que estás planteando dado que se lo dejás a las bibliotecas el
> decidir cómo manejar los tamaños que requerís en valores enteros de a
bytes.
Tengo entendido, y sólo de oído, que no es correcto el void*, (en C++) por
lo que trato de evitar la perdida del tipo de dato.
> O sea, a este punto ya es más semántico que sintáctico el problema
> de usar un array de floats o de perros; pero es bastante más claro si lo
> manejás a nivel memoria sin nombre referenciada como void* o, con toda
> la aritmética que tenés que hacer a mano, usar chars.
> No te olvides que dijiste al comienzo que usabas tanto tipos que
> caben en los 32 bits de un float como tipos de 64 bits... si utilizás
> arrays de floats, de todos modos vas a tener que hacer aritmética de
> divisiones para meter int64s.
jeje, o perder datos =P
--
v3sw6Chw5ln6pr7Ock3ma8u9Lw3Xm5l7Gi2Ce6t6Gb8Ten4g6OPa28s5Mr1p8
hackerkey.com
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion