इस लेख में हम देखेंगे कि C++ कोड में नेमस्पेस का उपयोग कैसे करें।
एक स्थिति पर विचार करें, जब हमारे पास एक ही क्लास में एक ही नाम, जारा, के दो व्यक्ति हों। जब भी हमें उन्हें अलग करने की आवश्यकता होती है तो निश्चित रूप से हमें उनके नाम के साथ कुछ अतिरिक्त जानकारी का उपयोग करना होगा, जैसे क्षेत्र, यदि वे अलग-अलग क्षेत्र में रहते हैं या उनकी मां या पिता का नाम, आदि।
यही स्थिति आपके C++ एप्लिकेशन में उत्पन्न हो सकती है। उदाहरण के लिए, आप कुछ कोड लिख रहे होंगे जिसमें xyz() नामक एक फंक्शन है और एक और लाइब्रेरी उपलब्ध है जिसमें xyz() नामक समान फंक्शन है। अब कंपाइलर के पास यह जानने का कोई तरीका नहीं है कि आप अपने कोड के भीतर xyz() फंक्शन के किस संस्करण का उल्लेख कर रहे हैं।
एक नेमस्पेस इस कठिनाई को दूर करने के लिए डिज़ाइन किया गया है और समान नाम वाले समान फंक्शन, क्लासेस, वेरिएबल आदि को अलग-अलग लाइब्रेरी में उपलब्ध कराने के लिए अतिरिक्त जानकारी के रूप में उपयोग किया जाता है। नेमस्पेस का उपयोग करके, आप उस संदर्भ को परिभाषित कर सकते हैं जिसमें नाम परिभाषित हैं। संक्षेप में, एक नेमस्पेस एक स्कोप को परिभाषित करता है।
नेमस्पेस परिभाषित करना:
नेमस्पेस परिभाषा कीवर्ड नेमस्पेस के साथ शुरू होती है जिसके बाद नेमस्पेस नाम निम्नानुसार होता है:
namespace namespace_name { // कोड डिक्लेरेशन }
नेमस्पेस-सक्षम फंक्शन या वेरिएबल के संस्करण को कॉल करने के लिए, नेमस्पेस नाम को पूर्वनिर्धारित करें (::) निम्नानुसार:
name::code; // कोड वेरिएबल या फंक्शन हो सकता है।
उदाहरण कोड
#include <iostream> using namespace std; // पहला नेमस्पेस namespace first_space { void func() { cout << "Inside first_space" << endl; } } // दूसरा नेमस्पेस namespace second_space { void func() { cout << "Inside second_space" << endl; } } int main () { // पहले नेमस्पेस से फंक्शन कॉल करता है। first_space::func(); // दूसरे नेमस्पेस से फंक्शन कॉल करता है। second_space::func(); return 0; }
आउटपुट
Inside first_space Inside second_space