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

C++ में 'using namespace std' का क्या अर्थ है?


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

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

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

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

using namespace स्टेटमेंट का अर्थ है कि जिस स्कोप में यह मौजूद है, वहां std नेमस्पेस के तहत आने वाली सभी चीज़ें बिना प्रत्येक के आगे std:: प्रीफिक्स लगाए उपलब्ध करा दी जाएं।

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

  1. VGA का क्या मतलब है? परिभाषा, कनेक्टर और कन्वर्टर VGA का क्या मतलब है? परिभाषा, कनेक्टर और कन्वर्टर

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

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

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

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

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