The code between #ifndef ABC_H
and #endif
is compiled only when ABC_H
isn't defined.
The #define ABC_H
line, defines the ABC_H
identifier.
This combination is used often, in order to ensure that a header file is included only one time. At the first time that the compiler enters to the file, the ABC_H
identifier isn't defined, so the content of the file is included (and the ABC_H
identifier is defined). At the next time that the compiler enters to the file, the ABC_H
identifier is already defined...