मैं कई स्रोत फ़ाइलों में दिखाई देने के लिए C ++ में एक निरंतर परिभाषित करना चाहता हूं। मैं हेडर फ़ाइल में इसे परिभाषित करने के निम्नलिखित तरीकों की कल्पना कर सकता हूं:
#define GLOBAL_CONST_VAR 0xFFint GLOBAL_CONST_VAR = 0xFF;- कुछ फ़ंक्शन मान को पुन: प्राप्त कर रहा है (उदा
int get_GLOBAL_CONST_VAR()) enum { GLOBAL_CONST_VAR = 0xFF; }const int GLOBAL_CONST_VAR = 0xFF;extern const int GLOBAL_CONST_VAR;और एक स्रोत फ़ाइल मेंconst int GLOBAL_CONST_VAR = 0xFF;
विकल्प (1) - निश्चित रूप से वह विकल्प नहीं है जिसका आप उपयोग करना चाहते हैं
विकल्प (2) - हेडर फ़ाइल का उपयोग करके प्रत्येक ऑब्जेक्ट फ़ाइल में चर के उदाहरण को परिभाषित करना
विकल्प (3) - ज्यादातर मामलों में IMO की हत्या हो गई है
विकल्प (4) - कई मामलों में शायद अच्छा नहीं है क्योंकि एनम का कोई ठोस प्रकार नहीं है (C ++ 0X प्रकार को परिभाषित करने की संभावना जोड़ देगा)
इसलिए ज्यादातर मामलों में मुझे (5) और (6) के बीच चयन करना होगा। मेरे सवाल:
- आप क्या पसंद करते हैं (5) या (6)?
- क्यों (5) ठीक है, जबकि (2) नहीं है?