sirve quimica que poner para etiqueta ejemplos cursiva como c++ header-files

c++ - quimica - ¿Por qué incluir primero el encabezado relacionado?



que es tags h1 y cursiva (2)

Es para asegurarse de que sus clientes no lo odien cuando incluyen el encabezado de su biblioteca.

Si el encabezado es quebradizo y está sujeto a ruptura en un orden de inclusión incorrecto, puede parecer que funciona en su entorno cuando no es el primero, ya que incluye los encabezados que necesita, pero no compila el código del cliente. Debido a que puede no ser en absoluto obvio qué otros encabezados deben ser introducidos para que funcione.

Incluyendo primero el encabezado que corresponde al archivo de implementación actual se dirige a verificar que el encabezado sea independiente. La autocontención va más allá de la simple inclusión de los encabezados necesarios. También implica agregar las declaraciones de reenvío requeridas para los tipos que usa en su API. Naturalmente, su encabezado se compilará si incluye el encabezado para el tipo anterior, pero es posible que no desee insertarlo ya que solo depende del nombre del tipo en su API.

Algunas guías de estilo prohíben las declaraciones adelantadas, por lo que pueden no ser parte de la lógica que plantean.

En la pregunta C / C ++ incluye orden de archivos / mejores prácticas , la mejor respuesta recomienda incluir primero el encabezado relacionado.

Lo mismo para las guías de estilo de Google y Mozilla .

Sin embargo, en ambos casos, no pude encontrar una buena razón para hacer esto.

Las reglas de codificación de Google y Mozilla me parecen mejores, porque te obligan a incluir primero los encabezados más "estándar".

De esta manera, creo que es menos probable que arruine los archivos incluidos (por ejemplo, al definir algunas macros utilizadas en los otros encabezados, etc.), por lo que parece ser la mejor forma de hacerlo.

Pero siguiendo ese razonamiento, ¿por qué incluiría primero el encabezado relacionado? Dado que cualquier error de sintaxis en él podría desordenar todos los siguientes encabezados?

Creo que incluir el último encabezado relacionado sería lo mejor.


La inclusión del encabezado relacionado con el archivo cpp primero asegura que el encabezado sea autónomo y no requiera otros complementos para compilar