मैक्रो अपरिभाषित जा सकता है, यह कोई मूल्य नहीं के साथ परिभाषित किया जा सकता , या इसे कुछ मूल्य, संभवतः एक संख्या के साथ परिभाषित किया जा सकता है। उदाहरण:
#undef MACRO
#define MACRO
#define MACRO ??????
#define MACRO 0
#define MACRO 1
#ifdef मैक्रो या परिभाषित (मैक्रो) चेकों मैक्रो के साथ और महत्वहीन, परिभाषित किया गया है कि क्या #if।
#if मैक्रो मैक्रो परिभाषा को प्रतिस्थापित करता है; यदि मैक्रो परिभाषित नहीं किया गया है तो यह 0 को प्रतिस्थापित करता है। फिर यह उस अभिव्यक्ति का मूल्यांकन करता है जो इसे मिलता है। हम पांच उपरोक्त उदाहरण लेते हैं, मैक्रो #if
#if 0
#if
#if ??????
#if 0
#if 1
संख्या 2 और 3 में बदल दिया जाएगा एक संकलन समय त्रुटि दिखा सकते हैं। संख्या 1 और 4 गलत का मूल्यांकन करते हैं, इसलिए निम्न कोड छोड़ दिया गया है। संख्या 5 सही करने के लिए मूल्यांकन करता है।
#if अधिक लचीला है: आप
#if MACRO == 2
जो केवल निम्नलिखित कोड संकलन होगा यदि मैक्रो के रूप में
#define MACRO 2
धन्यवाद उदाहरण के लिए परिभाषित किया गया था लिख सकते हैं। यह सुनिश्चित करने के लिए: क्या # परिभाषित करने के लिए पर्याप्त IPAD_BUILD परिभाषित किया गया है (बिना किसी मान के?) #ifdef IPAD_BUILD इस मामले में सच होगा? – Geri
हाँ लगता है ._____ – Geri
वास्तव में नहीं =) मैं जवाब बदल दूंगा। – Stas