C ++ میں نام کی جگہ کے بارے میں جاننے کے لئے ہر چیز کی ضرورت ہے



یہ مضمون آپ کو C ++ میں نام کی جگہ کا تفصیلی اور جامع معلومات فراہم کرے گا۔ یہ کسی بھی پروگرام میں مختلف اقسام اور استعمالات ہیں۔

C ++ میں نام کی جگہ کوڈ کو منطقی گروپوں میں منظم کرنے اور نام کے تصادم کو روکنے کے لئے استعمال کیا جاتا ہے جو خاص طور پر جب آپ کے کوڈ بیس میں متعدد لائبریریاں شامل ہیں۔ اس مضمون میں مندرجہ ذیل نکات کا احاطہ کیا جائے گا:

نام کی جگہ کی ضرورت ہے

ایک صورتحال پر غور کریں ، ہم کچھ کوڈ لکھ رہے ہیں جس میں ایک فنکشن ہوتا ہے جسے abc () کہتے ہیں اور ایک اور وضاحتی لائبریری بھی دستیاب ہے جس میں بھی اسی فنکشن abc () موجود ہے۔ اب تالیف کے وقت ، مرتب کرنے والے کو اس بات کا کوئی اشارہ نہیں ہے کہ ہم اپنے کوڈ میں جس عبارت () فنکشن کا حوالہ دے رہے ہیں اس کا کون سا ورژن ہے۔





C ++ میں نام کی جگہ

اس مشکل پر قابو پانے کے لئے نام کی جگہ ڈیزائن کی گئی ہے اور اسی طرح کے افعال ، متغیرات ، کلاسز ، وغیرہ کو مختلف لائبریریوں میں دستیاب ایک ہی نام کے ساتھ فرق کرنے کے لئے اضافی معلومات کے طور پر استعمال کیا جاتا ہے۔ نام کی جگہ کا استعمال کرتے ہوئے ، ہم سیاق و سباق کی وضاحت کرسکتے ہیں جس میں ناموں کی وضاحت کی گئی ہے۔ جوہر میں ، نام کی جگہ ایک گنجائش کی وضاحت کرتی ہے۔



تمام سی ++ معیاری لائبریری کی اقسام اور افعال کو ایس ٹی ڈی کے اندر اندر گھریلو نام کے مقام یا نام کی جگہوں میں قرار دیا جاتا ہے اس طرح یہ زیادہ تر پروگراموں میں وسیع پیمانے پر استعمال ہوتا ہے۔

جاوا میں لاگ فائلیں کیسے بنائیں

ایک نام کی جگہ کی وضاحت

نام کی جگہ کی وضاحت کے ل we ہم مطلوبہ الفاظ کے نام کی جگہ سے شروع کریں جس کے بعد نام خالی نام مندرجہ ذیل ہے۔

نام کی جگہ نام کی جگہ_زام {انٹ اے ، بی // کوڈ اعلامیہ جہاں // نام اور بی نام کو // नेम اسپیس_ نام کے دائرہ کار میں اعلان کیا گیا ہے}

نام کی جگہ کی وضاحت کرتے وقت یاد رکھنے کے مقامات

  • نام کی جگہ کے اعلانات صرف عالمی دائرہ کار میں ظاہر ہوتے ہیں۔
  • نام کی جگہ کے اعلامیے تک رسائی کی وضاحت نہیں ہے۔
  • نام کی جگہ کے اعلانات کو کسی اور نام کی جگہ کے اندر اندر گھونس جا سکتا ہے۔
  • نام کی جگہ کی تعریف کے اختتامی منحنی خطوط وحدانی کے بعد سیمیکالون دینے کی ضرورت نہیں ہے۔
  • نام کی جگہ کی تعریف کو کئی اکائیوں میں تقسیم کیا جاسکتا ہے۔
# نام کی جگہ ایس ڈی نام کی جگہ کا استعمال کرتے ہوئے شامل کریں_فنکشن {باطل فنک () out cout<< 'Inside first_function' << endl } } namespace second_function { void func() { cout << 'Inside second_function' << endl } } int main () { // Calls function from first name space. first_function::func() // Calls function from second name space. second_function::func() return 0 }

آؤٹ پٹ:



مذکورہ بالا مثال میں فنک () فنکشن کی وضاحت کے لئے دو مختلف اوقات ، ہم نام کی جگہ کا تصور استعمال کرتے ہیں۔ ہم نام کی جگہ first_function اور کے تحت پہلے فنکشن کی وضاحت کرتے ہیںنام کی جگہ سیکنڈ_فنکشن کے تحت دوسرا فنکشن۔ ان افعال کو کال کرنے کے لئے ہم اسکوپ ریزولوشن آپریٹر کو مندرجہ ذیل طریقوں سے استعمال کرتے ہیں۔ پہلے_فنکشن :: فنک () اور سیکنڈ_فنکشن :: فنک ()۔

C ++ میں نام کی جگہ استعمال کرنا

پروگرام میں نام کی جگہ کے استعمال کے تین طریقے ہیں ،

  1. استعمال کرنے کی ہدایت
  2. استعمال کرنے والا اعلامیہ
  3. اسکوپ ریزولوشن آپریٹر (: :)

استعمال کرنے کی ہدایت

ہم اس کے ساتھ نام کی جگہوں کی تیاری سے بچ سکتے ہیں استعمال کرتے ہوئے نام کی جگہ کی ہدایت. استعمال کرتے ہوئے کلیدی الفاظ ہمیں ایک عالمی دائرہ کار کے ساتھ آپ کے پروگرام میں ایک پوری نام کی جگہ درآمد کرنے کی اجازت دیتا ہے۔ اسے ہماری ضرورت کے مطابق کسی اور نام کی جگہ یا کسی بھی پروگرام میں نام کی جگہ درآمد کرنے کے لئے استعمال کیا جاسکتا ہے۔

ہیڈر فائل پر غور کریں Namespace_first.h:

نام کی جگہ فرسٹ {انٹ کلاس فرسٹ_کلاس {انٹ آئی}}

نام اسپیس_ سیکنڈ۔چچ فائل میں مذکورہ بالا نام اسپیس ہیڈر فائل کو شامل کریں: 'نام کی جگہ_فیرسٹ۔چ' شامل کریں۔

نام کی جگہ دوسرا name نام کی جگہ کا استعمال کرتے ہوئے پہلا پہلا_کلاس اعتراض y

ہم نام کی جگہ_پہلی کو نام کی جگہ_دوسرے میں درآمد کرتے ہیں ، لہذا کلاس فرسٹ_کلاس اب نام کی جگہ_دوسرے میں دستیاب ہوگی۔ لہذا ہم مندرجہ ذیل پروگرام کو ایک علیحدہ فائل میں لکھ سکتے ہیں ، آئیے کہتے ہیں new_file.cpp۔

# شامل کریں 'नेम اسپیس_ سیکنڈ۔' باطل ٹیسٹ () name نام اسپیس سیکنڈ // کلاس فرسٹ_کلاس فرسٹ_کلاس آبجیکٹ 2 کا آبجیکٹ تیار کرنا {

لہذا ، ہدایت نامہ استعمال کرنا آپ جہاں چاہتے ہو ، C ++ میں نام کی جگہ استعمال کرنا بہت آسان بنا دیتا ہے۔

جاوا میں ڈبل انٹ بنانے کا طریقہ

استعمال کرنے والا اعلامیہ

استعمال کرنے والے اعلامیے میں ، ہم ایک وقت میں ایک مخصوص نام درآمد کرتے ہیں جو صرف موجودہ دائرہ کار میں موجود ہے اور اسکوپ ریزولوشن کی مدد سے کہا جاتا ہے۔ نوٹ: استعمال کرنے والے اعلامیہ کے ساتھ درآمد کردہ نام ہدایت نامہ کے ساتھ درآمد کردہ نام کو اوور رائیڈ کرسکتا ہے۔ ہم اسے ذیل کی مثال میں دیکھ سکتے ہیں۔

آئیے ہم ہیڈر فائل New_File.h پر غور کریں:

نام کی جگہ پہلا {باطل A () out cout<< 'A of First namespacen' } } namespace Second { void A() { cout << 'A of Second namespacen' } }

اب ذیل کے کوڈ کے ساتھ New_file_2.cpp نام کے ساتھ ایک نیا پروگرام فائل بنائیں۔

# شامل کریں 'New_file.h' باطل B () name نام کی جگہ کا استعمال کرتے ہوئے // دوسرا کا استعمال کرتے ہوئے ہدایت کا استعمال کرتے ہوئے :: A // اعلامیہ کا استعمال سب سے پہلے :: A () // پہلا نام خانے A () کا کلاس A () // کال A () دوسرا نام کی جگہ of

اسکوپ ریزولوشن آپریٹر (: :)

ہم نام کی جگہ اور اسکوپ ریزولوشن کا استعمال کرکے نام کی جگہ میں اعلان کردہ کوئی بھی نام واضح طور پر واضح کرسکتے ہیں۔ :: ' شناخت کنندہ والا آپریٹر۔

नेम اسپیس نیو_ اسپیس {کلاس X {جامد انٹ I عوامی: باطل فنک ()} // کلاس کا نام ڈیکلریشن کلاس Y} // جامد کلاس متغیر INT شروع کرنا New_space :: X :: i = 23 کلاس New_space :: Y {int ایک عوام: int getdata () out cout<< a } // Constructor declaration Y() } // Constructor definition explicitly New_space::Y::Y() { a=0 }

C ++ میں اختلافی نام کی جگہ

جیسا کہ ہم جانتے ہیں کہ C ++ میں نام کی جگہ کئی حصوں میں بیان کی جاسکتی ہے اس طرح یہ اس کے الگ الگ بیان کردہ حصوں کے مجموعے پر مشتمل ہے۔ لہذا ، اگر نام کی جگہ کے ایک حصے کے لئے کسی دوسری فائل میں کسی نام کی وضاحت کی ضرورت ہو تو ، اس نام کے دائرہ کار میں ابھی بھی اس کا اعلان کرنا ضروری ہے۔ مندرجہ ذیل طریقے سے درج ذیل نام کی جگہ لکھنا یا تو ایک نیا نام کی جگہ کی وضاحت کرتا ہے یا کسی موجودہ وجود میں نئے عناصر کو شامل کرتا ہے۔

نام کی جگہ نام کی جگہ_ کا نام {// کوڈ باڈی}

C ++ میں نامزد مقام

نام کی جگہوں پر آسانی سے گھوںسلا کیا جاسکتا ہے اور ہم ایک نام کی جگہ کو دوسرے نام کی جگہ کے اندر اس طرح کی وضاحت کرسکتے ہیں۔

नेम اسپیس نام کی جگہ_مال_1_ 1 // کوڈ باڈی کا نام اسپیس_ نام 1 نام کی جگہ نام_دوس_ 2 code // کوڈ باڈی نیسٹڈ نامی اسپیس_یوم 2}}

اس کے ساتھ ، ہم C ++ مضمون میں نام کی جگہ کے اختتام پر پہنچ گئے ہیں۔ مجھے امید ہے کہ آپ کو اندازہ ہو گیا ہوگا کہ C ++ میں نام کی جگہ دراصل کیا ہے اور اس کی وضاحت کرنے کے مختلف طریقے کیا ہیں؟ اگر آپ مزید جاننا چاہتے ہیں تو ، چیک کریں ایڈورکا ، جو ایک قابل اعتماد آن لائن سیکھنے کی کمپنی ہے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس آپ کو ہائبرنیٹ اور اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی تصورات کی تربیت کے لئے ڈیزائن کیا گیا ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد سے جلد آپ کے پاس مل جائیں گے۔

ج میں ایک منسلک فہرست بنائیں