...
#endif
Using the defined Operator
You can use the defined operator in the #if directive to use expressions that evaluate to 0 or 1 within a preprocessor line. This saves you from using nested preprocessing directives.
The parentheses around the identifier are optional. Below is an example:
#if defined (MAX) && ! defined (MIN)
...
Without using the defined operator, you would have to include the following two directives to perform the above example:
#ifdef max #ifndef min
Using the #if Directive
The #if preprocessing directive has the form:
Use #if to test an expression. HP aC++ evaluates the expression in the directive. If the expression evaluates to a
All macro identifiers that appear in the
The #endif Directive
Whichever directive you use to begin the condition (#if, #ifdef, or #ifndef), you must use #endif to end the if section.
Using the #ifdef and #ifndef Directives
The following preprocessing directives test for a definition:
#ifdef identifier
#ifndef identifier
These preprocessing directives behave like the #if directive, but #ifdef is considered true if the identifier was previously defined using a #define directive or the
Nesting Conditional Compilation Directives
Use the #else directive to specify an alternative section of code to be compiled if the #if, #ifdef, or #ifndef conditions fail. The code after the #else directive is included if the code following any of the #if directives is not included.
Using the #else Directive
Use the #else directive to specify an alternative section of code to be compiled if the #if, #ifdef, or #ifndef conditions fail. The code after the #else directive is included if the code following any of the #if directives is not included.
Using the #elif Directive
The #elif
Overview of the Preprocessor 127