Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में 'नेमस्पेस एसटीडी का उपयोग' का क्या अर्थ है?

एक ऐसी स्थिति पर विचार करें, जब एक ही कक्षा में एक ही नाम के दो व्यक्ति हों, पीयूष। जब भी हमें उन्हें अलग करने की आवश्यकता होती है, तो निश्चित रूप से हमें उनके नाम के साथ कुछ अतिरिक्त जानकारी का उपयोग करना होगा, जैसे कि या तो क्षेत्र, यदि वे एक अलग क्षेत्र में रहते हैं या उनके माता या पिता का नाम, आदि।

आपके C++ अनुप्रयोगों में भी यही स्थिति उत्पन्न हो सकती है। उदाहरण के लिए, आप कुछ कोड लिख रहे होंगे जिसमें xyz() नामक एक फ़ंक्शन है और एक अन्य लाइब्रेरी उपलब्ध है जिसमें समान फ़ंक्शन xyz() भी है। अब कंपाइलर के पास यह जानने का कोई तरीका नहीं है कि आप अपने कोड में xyz() फ़ंक्शन के किस संस्करण का उल्लेख कर रहे हैं।

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

C++ में एक मानक पुस्तकालय है जिसमें कंटेनर, एल्गोरिदम, आदि जैसे आपके अनुप्रयोगों के निर्माण में आपके द्वारा उपयोग की जाने वाली सामान्य कार्यक्षमता शामिल है। यदि इनके द्वारा उपयोग किए गए नाम खुले में थे, उदाहरण के लिए, यदि उन्होंने विश्व स्तर पर एक कतार वर्ग को परिभाषित किया है , आप बिना किसी विरोध के फिर से उसी नाम का उपयोग नहीं कर पाएंगे। इसलिए उन्होंने इस परिवर्तन को शामिल करने के लिए एक नामस्थान, एसटीडी बनाया।

इस्तेमाल करने वाले नेमस्पेस स्टेटमेंट का मतलब है कि जिस दायरे में यह मौजूद है, उसमें से प्रत्येक के पहले std::उपसर्ग किए बिना सभी चीजें उपलब्ध कराएं।

हालांकि यह अभ्यास संक्षिप्त उदाहरण कोड या तुच्छ कार्यक्रमों के लिए ठीक है, वैश्विक नामस्थान में संपूर्ण एसटीडी नाम स्थान खींचना एक अच्छी आदत नहीं है क्योंकि यह नाम स्थान के उद्देश्य को हरा देता है और नाम टकराव का कारण बन सकता है। (भले ही शुरू में कोई नाम टकराव न हो, वे रखरखाव के दौरान क्रॉप हो सकते हैं क्योंकि प्रोजेक्ट में अधिक कोड, लाइब्रेरी आदि जोड़े जाते हैं।) इस स्थिति को आमतौर पर नेमस्पेस प्रदूषण के रूप में जाना जाता है।


  1. VGA का क्या अर्थ है?

    संक्षिप्त VGA, वीडियो ग्राफ़िक्स ऐरे, मॉनिटर और प्रोजेक्टर जैसे वीडियो उपकरणों के लिए एक मानक प्रकार का कनेक्शन है। आम तौर पर, यह मॉनिटर को वीडियो कार्ड से जोड़ने के लिए उपयोग किए जाने वाले केबल, पोर्ट और कनेक्टर के प्रकारों को संदर्भित करता है। जबकि यह तकनीक आज भी उपयोग में है, इसे तेजी से डीवीआई

  1. LTE का क्या अर्थ है?

    लॉन्ग टर्म इवोल्यूशन, या एलटीई, एक 4 जी वायरलेस ब्रॉडबैंड मानक है जो वाईमैक्स और 3 जी जैसी पिछली तकनीकों को बदल देता है। यह 3G से तेज़ है लेकिन वास्तविक 4G और 5G, वर्तमान वायरलेस मानक, दोनों से धीमा है। LTE का उपयोग मोबाइल उपकरणों जैसे स्मार्टफोन और टैबलेट द्वारा वायरलेस (वाई-फाई) कनेक्शन के बजाय क

  1. SNMP का क्या अर्थ है?

    SNMP का मतलब सिंपल नेटवर्क मैनेजमेंट प्रोटोकॉल है। यह एक क्लाइंट-सर्वर प्रोटोकॉल है जिसका उपयोग नेटवर्क प्रशासक नेटवर्क स्विच, प्रिंटर, फोन और नेटवर्क से जुड़े अन्य उपकरणों (एसएनएमपी एजेंटों के रूप में भी जाना जाता है) के बारे में जानकारी एकत्र करने के लिए करते हैं। एसएनएमपी विंडोज 10 में डिफ़ॉल्ट