এই নিবন্ধে আমরা দেখব কিভাবে C++ কোডে নামস্থান ব্যবহার করতে হয়।
একটি পরিস্থিতি বিবেচনা করুন, যখন আমাদের একই ক্লাসে একই নামের জারা দুই ব্যক্তি থাকে। যখনই আমাদের তাদের আলাদা করার প্রয়োজন হবে তখনই আমাদের তাদের নামের সাথে কিছু অতিরিক্ত তথ্য ব্যবহার করতে হবে, যেমন হয় এলাকা, যদি তারা ভিন্ন এলাকায় থাকে বা তাদের মায়ের বা বাবার নাম ইত্যাদি।
আপনার C++ অ্যাপ্লিকেশনে একই পরিস্থিতি দেখা দিতে পারে। উদাহরণস্বরূপ, আপনি হয়ত কিছু কোড লিখছেন যেটিতে xyz() নামে একটি ফাংশন রয়েছে এবং সেখানে আরেকটি লাইব্রেরি উপলব্ধ রয়েছে যেখানে একই ফাংশন xyz() রয়েছে। এখন আপনার কোডের মধ্যে xyz() ফাংশনের কোন সংস্করণটি আপনি উল্লেখ করছেন তা কম্পাইলারের জানার কোন উপায় নেই৷
একটি নামস্থান এই অসুবিধা কাটিয়ে ওঠার জন্য ডিজাইন করা হয়েছে এবং বিভিন্ন লাইব্রেরিতে উপলব্ধ একই নামের একই ধরনের ফাংশন, ক্লাস, ভেরিয়েবল ইত্যাদিকে আলাদা করার জন্য অতিরিক্ত তথ্য হিসেবে ব্যবহার করা হয়। নেমস্পেস ব্যবহার করে, আপনি যে প্রেক্ষাপটে নাম সংজ্ঞায়িত করা হয়েছে তা নির্ধারণ করতে পারেন। সংক্ষেপে, একটি নামস্থান একটি সুযোগকে সংজ্ঞায়িত করে৷
৷নেমস্পেস সংজ্ঞায়িত করা:
একটি নামস্থানের সংজ্ঞা শুরু হয় কীওয়ার্ড নেমস্পেস দিয়ে এবং তারপরে নামস্থান নিম্নরূপ নাম –
namespace namespace_name { // code declarations }
যেকোনও ফাংশন বা ভেরিয়েবলের নামস্থান-সক্ষম সংস্করণকে কল করতে, নিচের মতো নামস্থানের নামটি (::) পূর্বে লিখুন –
name::code; // code could be variable or function.
উদাহরণ কোড
#include <iostream> using namespace std; // first name space namespace first_space { void func() { cout << "Inside first_space" << endl; } } // second name space namespace second_space { void func() { cout << "Inside second_space" << endl; } } int main () { // Calls function from first name space. first_space::func(); // Calls function from second name space. second_space::func(); return 0; }
আউটপুট
Inside first_space Inside second_space