C++ میں لوپ کے لیے رینج بیسڈ کا استعمال کیسے کریں۔

C My Lwp K Ly Rynj Bys Ka Ast Mal Kys Kry



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

رینج بیسڈ فار لوپ کا نحو

اے رینج پر مبنی لوپ کے لیے ایک بہت سیدھا نحو ہے۔ یہ لوپ متغیر، کنٹینر یا رینج جس کے ذریعے اعادہ کیا جاتا ہے، اور بڑی آنت سے بنا ہوتا ہے۔







کے لیے ( رینج_ڈیکلریشن : رینج_اظہار ) لوپ بیان



حد_اعلان: رینج-ڈیکلریشن ایک متغیر کا اعلان ہے جس کی قسم رینج-جزو اظہار کے عناصر کے ساتھ ہوتی ہے۔ a میں اجزاء کی قسم کا خود بخود تعین کرنے کے لیے رینج_اظہار , آٹو کلیدی لفظ کثرت سے استعمال ہوتا ہے۔



رینج_اظہار: ہر وہ اظہار جو عناصر کی فہرست کی نمائندگی کرتا ہے a ہے۔ رینج_اظہار .





لوپ کا بیان: a for loop کی باڈی ایک یا زیادہ بیانات پر مشتمل ہوتی ہے جنہیں range_expression کے اختتام تک دہرایا جانا چاہیے۔

رینج کی بنیاد پر لوپ کے لیے عمل کرنے کے طریقے

تین طریقے ہیں جن کے لیے استعمال کیا جا سکتا ہے۔ رینج پر مبنی لوپ کے لیے .



طریقہ 1: Arrays کا استعمال کرنا

رینج پر مبنی برائے لوپ اس طرح arrays کا استعمال کرتے ہوئے چلایا جا سکتا ہے۔

# شامل کریں
نام کی جگہ کا استعمال کرتے ہوئے std؛

اہم int ( ) {
int numArray [ ] = { 6 , 7 , 8 , 9 , 10 } ;
کے لیے ( int n : numArray ) {
cout << n << ' ;
}
واپسی 0 ;
}

مندرجہ بالا کوڈ میں، numArray نامی ایک عددی صف شروع کی گئی تھی۔ پھر numArray کے عناصر کو a کا استعمال کرتے ہوئے پرنٹ کیا گیا۔ رینج پر مبنی لوپ کے لیے .

آؤٹ پٹ

طریقہ 2: ویکٹر کا استعمال

رینج پر مبنی برائے لوپ اس طرح کے ویکٹر کا استعمال کرتے ہوئے چلایا جا سکتا ہے۔

# شامل کریں
#شامل <ویکٹر>
نام کی جگہ کا استعمال کرتے ہوئے std؛
اہم int ( )
{
int x;
ویکٹر < int > میں = { 1 , 2 , 3 , 4 , 5 } ;
کے لیے ( int x : v )
{
cout << ایکس << ' ;
}
واپسی 0 ;
}

مندرجہ بالا کوڈ میں، ایک ویکٹر کہا جاتا ہے میں شروع کیا گیا تھا. یہاں، ویکٹر v کے عناصر کو a کا استعمال کرتے ہوئے پرنٹ کیا گیا تھا۔ رینج پر مبنی لوپ کے لیے۔

آؤٹ پٹ

طریقہ 3: لوپ کے اندر جمع کرنے کا اعلان کریں۔

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

# شامل کریں

نام کی جگہ کا استعمال کرتے ہوئے std؛
اہم int ( ) {
کے لیے ( int n : { 5 , 10 , پندرہ , بیس , 25 } ) {
cout << n << ' ;
}
واپسی 0 ;
}

مندرجہ بالا کوڈ میں، مجموعہ کو لوپ کے اندر ہی قرار دیا جاتا ہے اور پھر پرنٹ کیا جاتا ہے۔

آؤٹ پٹ

رینج بیسڈ فار لوپ کے فائدے اور نقصانات

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

رینج پر مبنی لوپس کے لیے کچھ پابندیاں ہیں، اگرچہ. چونکہ لوپ متغیر اصل عنصر کے بجائے عنصر کی کاپی یا حوالہ ہے، اس لیے اسے کنٹینر کے عناصر کو تبدیل کرنے کے لیے استعمال نہیں کیا جا سکتا۔ چونکہ پوری رینج کو مسلسل دہرایا جاتا ہے، اس لیے ہم کسی بھی عناصر کو نہیں چھوڑ سکتے یا ڈیٹا کے صرف ایک حصے پر اعادہ نہیں کر سکتے۔

نتیجہ

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