2009-12-05 10 views

उत्तर

5

वहाँ गुमनाम नामस्थान में typedefs रखने में ज्यादा बात नहीं है। अज्ञात नेमस्पेस के लिए मुख्य उपयोग उन दोनों में बाहरी संबंधों के साथ परिभाषाओं को रखकर अनुवाद इकाइयों के बीच प्रतीक टक्कर से बचने के लिए है।

+0

हम्म मैंने सोचा था कि अज्ञात नेमस्पेस फ़ाइल में अन्य नेमस्पेस समेत पूरी फ़ाइल सामग्री पर गुंजाइश था, जो इसे फाइल स्कोप में किसी भी तरह से डालने के समान बना देगा (बाहरी लिंक नियमों को छोड़कर)। मुझे यकीन नहीं था कि बाह्य संबंध नियम टाइपिफ़िक जैसे सिंटैक्टिक चीनी के लिए प्रासंगिक होंगे और उपयोग कर रहे हैं। – Jay

+0

आप सही हैं, अज्ञात नामस्थान में उपयोग घोषणा को रखकर या कुछ भी नहीं बदलते हैं। मुझे गलत समझा गया था। मैंने इसे संपादित कर लिया है। – Thomas

7

मैं कहूंगा कि दूसरा उपयोग अपेक्षाकृत असामान्य है, कम से कम उस कोड में जिसे मैंने अभी तक देखा है (और मैंने कोड के बहुत सारे सी ++ को देखा है)। क्या आप समझ सकते हैं कि दूसरी तकनीक के पीछे तर्क क्या है?

आप सामान्य रूप से सी ++ कार्यान्वयन फ़ाइल में एक अज्ञात नेमस्पेस का उपयोग करेंगे जो 'स्थिर' सी (या सी ++ में होगा, लेकिन हम उस पर चमक लेंगे), अर्थात् प्रतीकों की दृश्यता को प्रतिबंधित करना वर्तमान अनुवाद इकाई। टाइपिफ़ वास्तव में उन प्रतीकों का उत्पादन नहीं करता है जिन्हें लिंकर के लिए निर्यात किया जाता है क्योंकि वे किसी भी ठोस के अर्थ में 'कंक्रीट' नहीं बनाते हैं जिसे आप लिंक कर सकते हैं।

मेरी सिफारिश? मैं पहली टिप्पणी के साथ जाना होगा। दूसरा एक अनावश्यक जटिलता जोड़ता है और मेरी राय में, आपको कुछ भी नहीं खरीदता है।

+0

स्टेटस के बजाय नेमस्पेस {} का उपयोग करके बोलना मेरे लिए एक हैक जैसा लगता है, और मैंने कभी इसे पसंद नहीं किया या इसका इस्तेमाल नहीं किया। यदि वे स्थिर के 9 मिलियन विभिन्न उपयोगों के बारे में चिंतित थे तो उन्हें एक नया कीवर्ड पेश करना चाहिए था .. –

+2

आश्चर्यजनक रूप से पर्याप्त है, मैं स्थैतिक के बजाय अनाम नामस्थान पसंद करता हूं, भले ही मैंने सी प्रोग्रामिंग का अपना उचित हिस्सा किया हो। यह 9 मिलियन उपयोग और स्थैतिक गिनती है जो मुझे अनाम नामस्थान का उपयोग करता है। इसके अलावा, मुझे यह थोड़ा और संक्षिप्त लगता है और 'स्थैतिक' के साथ कुछ उपसर्ग करने के लिए भूलने की तुलना में इसे पेंच करना कठिन होता है। –

+0

मुझे अनाम नामस्थान में डीबग सामान का एक गुच्छा होता था जो अब चला गया है। केवल एक ही उपयोगी चीज टाइप की गई है और टाइपिंग है, इसलिए मैं बहस कर रहा था कि उन्हें फ़ाइल दायरे में ले जाना है या अज्ञात नेमस्पेस को जंक करना है या नहीं। – Jay

संबंधित मुद्दे