Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por Mu (11278) el Miércoles, 03 Marzo de 2010, 11:30h (#1206436)
    ( http://press.asqueados.net/ | Última bitácora: Jueves, 17 Abril de 2014, 09:50h )
    Las macros son una optimización que sirve para simular funciones sin meter la penalización de los saltos de memoria y el manejo de la pila, a costa de aumentar el tamaño del programa. A lo mejor es lo que querías decir, pero te ha quedado un poco ambiguo.

    Es una solución por cierto bastante superada por las funciones inline de C++, que tal vez deberían integrarse en C como ha pasado con otras cosas.

    Por otro lado, las macros tienen otros efectos más peligrosos que el que el preprocesador te de un error (que al fin y al cabo puedes solucionar fácilmente:

    #define SUMA(a,b) a + b
    int entero = 3 * SUMA(4,5);
    Que daría 17 en vez de 27 como se esperaba, al sustituirse con:

    int entero = 3 * 4 + 5;
    Se soluciona fácilmente, pero ilustra los problemas de lo artesanales que son las macros.

    En cuanto al tratamiento de booleanos, recuerdo que me pareció muy razonable cuando lo vi, pero quizás es que yo pienso demasiado como una máquina. En cualquier caso no me parece muy problemático que un booleano sea un entero igual o distinto de cero. Imagino que debe chocar mucho viniendo desde otros lenguajes más cercanos al dominio del problema.

    A mí por el contrario que tengo un pensamiento cercano al dominio de la solución me gustaron ese tipo de cosas porque te daba lo mínimo que necesitabas para resolver los problemas.
    --
    Envíos descartados por Mu [barrapunto.com]
    [ Padre ]
    Puntos de inicio:    1  punto
    Modificador por Bonus-Karma   +1  

    Total marcador:   2