Previous:The #if...#else...#end Directives Main Index Next:The #switch, #case, #range and #break Directives
The #ifdef
and #ifndef
directive are similar to the #if
directive however they is used to determine if an identifier has been previously declared.
- #ifdef (
IDENTIFIER )
TOKENS... [#else
TOKENS...] #end
- #ifndef (
IDENTIFIER )
TOKENS... [#else
TOKENS...] #end
If the IDENTIFIER exists then the first group of tokens is parsed normally and the second set is skipped. If false, the first set is skipped and the second set is parsed. This is especially useful for replacing an undefined item with a default. For example:
#ifdef (User_Thing)
// This section is parsed if the // identifier "User_Thing" was // previously declared object{User_Thing} // invoke identifier #else // This section is parsed if the // identifier "User_Thing" was not // previously declared box{<0,0,0>,<1,1,1>} // use a default #end // End of conditional part
The #ifndef
directive works the opposite. The first group is parsed if the identifier is not defined. As with the #if
directive, the #else
clause is optional and the #end
directive is required.
Previous:The #if...#else...#end Directives Main Index Next:The #switch, #case, #range and #break Directives