Defined
Nach oben zu Bedingte Compilierung (Übersicht) - Index
Syntax
#if defined[(] <bezeichner> [)]
#elif defined[(] <bezeichner> [)]
Beschreibung
Mit dem Operator defined lässt sich testen, ob bereits zuvor ein Bezeichner mit #define definiert war. Der Operator defined darf nur in #if- und #elif- Konstrukten verwendet werden.
Wenn <bezeichner> zuvor definiert und diese Definition nicht zwischenzeitlich per #undef wieder gelöscht wurde, so ergibt defined den Wert 1 (True), andernfalls 0 (False).
defined hat dieselbe Funktion wie #ifdef.
#if defined(mein_symbol)
ist gleichwertig mit
#ifdef meinsymbol
Der Vorteil von defined liegt darin, dass man dieses Schlüsselwort innerhalb eines komplexen Ausdrucks hinter der Direktive #if mehrfach einsetzen kann. Beispiel dafür:
#if defined(mein_symbol) && !defined(dein_symbol)