हम सब निश्चित रूप से इस्तेमाल किया है typedef
और #define
एक ही समय या अन्य है। आज उनके साथ काम करते हुए मैंने एक चीज पर विचार करना शुरू किया।
int
एक अन्य नाम के साथ डेटा प्रकार का उपयोग करने के लिए नीचे की 2 स्थितियों पर विचार करें:
typedef int MYINTEGER
तथा
#define MYINTEGER int
ऊपर की स्थिति की तरह, हम कई परिस्थितियों में, बहुत अच्छी तरह से #define का उपयोग करके किसी चीज़ को पूरा कर सकते हैं, और टाइपडिफ का उपयोग करके भी ऐसा ही कर सकते हैं, हालाँकि हम जिस तरीके से करते हैं, वह काफी भिन्न हो सकता है। #define मैक्रो एक्शन भी कर सकता है जो टाइपडिफ नहीं कर सकता।
यद्यपि उनके उपयोग करने का मूल कारण अलग है, उनका कार्य कितना भिन्न है? जब दोनों का उपयोग किया जा सकता है तो दूसरे पर कब प्राथमिकता दी जानी चाहिए? इसके अलावा, क्या कोई गारंटी देता है कि वह किन स्थितियों में दूसरे से तेज है? (उदा #define प्रीप्रोसेसर निर्देश है, इसलिए सब कुछ पहले या संकलन के समय की तरह किया जाता है)।