तो एक enum इस तरह काम करता है:#define जितना कुशल है, enum का उपयोग क्यों करें?
enum {
false,
true
}
जो
int false = 0
int true = 1
के बराबर है मैं #define
साथ enum
क्यों स्थानापन्न नहीं होगा?
#define FALSE 0
#define TRUE 1
मेरे लिए, ऐसा लगता है जैसे वे परस्पर विनिमय कर रहे। मुझे पता है कि #define
तर्कों को संभालने में सक्षम है, इसलिए enum
से पूरी तरह से अलग तरीके से संचालित होता है। enum
के मुख्य उपयोग वास्तव में क्या हैं जब हमारे पास #define
इस मामले में है?
अगर मुझे लगता है, #define
एक प्रीप्रोसेसर सुविधा है, enum
में कुछ रनटाइम फायदे होंगे। मैं कितनी दूर हूँ?
अग्रिम धन्यवाद।
देखें http://stackoverflow.com/questions/136946/difference-between-enum-and-define-statements – SirDarius
विषम, वह मेरे खोज परिणामों में प्रकट नहीं हुआ। धन्यवाद! – userenum
यह 'int false = 0' के बराबर नहीं है और न ही 'int const false = 0' (जो अधिक उपयुक्त होगा) के बराबर नहीं है। 'int' चर के पास एक पता होगा, फिर आप 'झूठी' कर सकते हैं, जिसे आप 'enum' के लिए नहीं कर सकते। –