domingo, 3 de junio de 2018

C++ Envoltura del preprocesador


C++ ENVOLTURA DEL PREPROCESADOR

Para evitar que el código del encabezado se incluya en el mismo archivo de código fuente más de una vez, se utiliza lo que se conoce como "Envoltura del Preprocesador". Como una clase sólo se puede definir una vez, al usar estas directivas del preprocesador evitamos los errores por múltiples definiciones.
Ejemplo:

#ifndef ENCABEZADO_H
#define ENCABEZADO_H
.
.
.

#endif

Este código se escribe por convención, al inicio de un archivo de cabecera (header). Se compone principalmente de las instrucciones ifndef, define y endif.



.
.
.




Cuando se construyan programas más grandes, las demás definiciones y declaraciones también se colocarán en archivos de encabezado. La envoltura del preprocesador evita que el código entre #ifndef (que significa “si no está definido”) y #endif se incluya, si ya se ha definido el nombre ENCABEZADO_H. Si el encabezado no se ha incluido antes en un archivo, el nombre ENCABEZADO_H se define mediante la directiva #define y se incluyen las instrucciones del archivo de encabezado. Si el encabezado ya se incluyó antes, ENCABEZADO_H se encuentra definido de antemano y el archivo de encabezado no se vuelve a incluir. Por lo general, los intentos de incluir un archivo de encabezado varias veces (inadvertidamente) ocurren en programas extensos con muchos archivos de encabezado, que a su vez pueden incluir otros archivos de encabezado. La convención de uso común para el nombre de la constante simbólica en las directivas del preprocesador es simplemente el nombre del archivo de encabezado en mayúsculas con el carácter de guión bajo como sustituto para el punto.
Más adelante, cuando se estudien las composiciones, se podrá ver un ejemplo en donde al no incluir una envoltura del preprocesador, ocasiona un error al tratar de compilar, ya que se detecta que una clase ya ha sido definida.

https://codigogx.blogspot.com/2018/01/c-relacion-entre-punteros-y-arreglos.htmlhttps://codigogx.blogspot.com/2018/06/c-destructores.html




1 comentario:

  1. Este artículo se parece mucho a un capitulo del libro "Como Programar C++ Deitel Peison - Sexta edición", el cual habla sobre las clases. ¡Buen aporte!

    ResponderEliminar

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...