Preprocesamiento de compilación C ++ --- silbato de contención interno y silbato de contención externo

En la "Guía de programación de calidad C ++ / c ", hay una breve introducción sobre la inclusión interna de guardias y la inclusión externa de guardias.

Pero el autor obviamente sobreestimó mi coeficiente intelectual. De los ejemplos que citó, todavía no entendía la diferencia, y ni siquiera sabía lo que significaba.

Así que busqué en Internet y descubrí que la mayoría de ellos eran portadores del código del autor original, como se muestra a continuación:

 

 

 

Para mi maldita comprensión, bueno, mira de nuevo, el resultado sigue siendo el mismo, no entiendo.

Afortunadamente, está bien por la tarde. Seguiré leyendo. Más tarde, el autor lo escribió intencionalmente o no, más mi maldito entendimiento, primero haga lo siguiente, si hay algo mal, corríjame, por favor gracias:

#if ! defined ( _INCLUDED_STDDEF_H_ ) 
#include <stddef.h>
 #define  _INCLUDED_STDDEF_H_ 
#endif

¿Por qué se llama el silbato de contención interno, solo porque su macro _INCLUDED_STDDEF_H_ se
define entre  #if! Defined y #endif .

El silbato de contención externo correspondiente se define después de usar la definición de macro, que es equivalente a usarse primero y definirse.

 

#if ! defined_STDDEF_H_INCLUDED_ 
#include <stddef.h>
 #endif

 

Aquí siento que el autor    no escribió _STDDEF_H_INCLUDED_ antes de esta línea de código, lo cual es difícil de entender.

 

Por favor corrígeme si algo está mal, y el novato se arrodilló nuevamente

 

Supongo que te gusta

Origin www.cnblogs.com/Jlord/p/12692994.html
Recomendado
Clasificación