Preguntando por el red – Constantes vs #define en C/C++

Featured image

Muchas programadores usan mucho los #defines. Pero hasta hace poco no se me ha hacía muy buena idea usarlos.

Esto es debido a que algunas veces están mal ubicados en alguna cabecera y al momento de querer modificar algunas de estas constantes, fastidiaba el tiempo de compilación debido a que si esta cabecera estaba incluida en varios archivos .cpp o incluso otras cabeceras. Esto provoca recompilar archivos que a lo mejor no venían al caso con la modificación que hiciste.

Entonces, cuál es la ventaja del #define? Decidí quitarme la duda en los foros de discusión de CodeProject. También exprese mi opinión que es mejor usar una clase a la cual se acedan constantes estáticas publicas. Un tipo prácticamente contesto

Esto es taaaaaaan…. de los 90’s, el guru de mi compañía ha dicho que siempre hay que usar defines para salvar memoria. Ahora lo comprendemos mejor.

Esa era mi espinita;  la memoria. Debo de decir que estoy de acuerdo con él. En tiempos como estos, hay que ahorrar espacio en memoria, sobre todo en dispositivos portátiles. Sin embargo, esta el problema de los tiempos de compilación.

Mi conclusión sobre este tema es; hay que distribuir bien los #defines (ya sean constantes o macros). De preferencia hacer esta inclusión en los archivos que se van a usar en el mismo .cpp.

Anuncios