C++ پروگرامنگ لینگویج میں ٹوپل کیا ہے؟
سی ++ پروگرامنگ زبان میں ایک ٹیپل ایک ایسی چیز ہے جس میں آئٹمز کی ترتیب شدہ فہرست ہوتی ہے۔ یہ ایک غیر تبدیل شدہ ڈیٹا کی قسم ہے جس کا مطلب ہے کہ ٹیوپل میں موجود اقدار کو عمل کے کسی بھی موقع پر تبدیل نہیں کیا جا سکتا۔ ٹوپل کی قدر کوما سے الگ کیے گئے راؤنڈ () بریکٹ میں دی گئی ہے اور انڈیکس کے حوالے سے اس تک رسائی حاصل کی جا سکتی ہے۔ بہت سے فنکشنز ہیں جو کہ ایک ٹیوپل پر کیے جا سکتے ہیں، یعنی get()، swap()، tuple_size()، اور وغیرہ۔ مزید حصوں میں، ہم مثالوں کی مدد سے 4 فنکشنز کے کام کی وضاحت کریں گے۔
مثال 1:
اس مثال میں، ہم make_tuple() فنکشن کا استعمال کرکے ایک ٹیپل بنائیں گے۔ make_tuple() کو c++ پروگرام میں استعمال کیا جاتا ہے تاکہ ٹیپل کو ویلیو تفویض کیا جاسکے۔ وہ اقدار جو ٹیوپل کو تفویض کرنے کی ضرورت ہے وہ اسی ترتیب میں ہونی چاہئیں جس طرح وہ ٹیپل میں اعلان کی گئی تھیں۔ آئیے ذیل میں منسلک کوڈ کو دیکھیں کہ یہ سمجھنے کے لیے کہ make_tuple() فنکشن c++ پروگرام میں کیسے کام کرتا ہے۔
'include
# شامل کریں
# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , int , چار , تیرنا > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ساتھ' , 5.5 ) ;
واپسی 0 ;
}
ذیل میں اسکرین شاٹ میں دی گئی نتیجہ خیز آؤٹ پٹ کو چیک کریں:
نوٹ کریں کہ پروگرام کے ذریعہ کچھ بھی واپس نہیں کیا گیا ہے۔ آئیے ٹیپل کی قدروں کو پرنٹ کرتے ہیں۔
مثال 2:
اس مثال میں، get() فنکشن ٹیپل پر اس کی اقدار کو ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ ٹیپلز کی قدریں صرف c++ پروگرامنگ زبان میں get() فنکشن کے ساتھ پرنٹ کی جا سکتی ہیں۔ نیچے کوڈ دیکھیں۔
نوٹ کریں کہ ہم نے وہی کوڈ اور نمونہ ڈیٹا استعمال کیا جیسا کہ ہم نے پچھلی مثال میں کیا تھا۔ make_tuple() فنکشن کا استعمال کرتے ہوئے، قدریں کامیابی کے ساتھ tuple کو تفویض کی جاتی ہیں۔ get() فنکشن 0 سے شروع ہونے والے انڈیکس نمبر کا حوالہ دے کر ٹیوپل کی ویلیوز تک رسائی کے لیے استعمال کیا جاتا ہے۔ ہر انڈیکس نمبر get() فنکشن کو دیا جاتا ہے اور tuple کی تمام ویلیوز cout اسٹیٹمنٹ کے ساتھ پرنٹ کی جاتی ہیں۔
# شامل کریں# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , int , چار , تیرنا > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ساتھ' , 5.5 ) ;
int میں ;
cout << 'ٹپل کی قدریں ہیں:' ;
cout << حاصل کریں < 0 > ( t ) << ' << حاصل کریں < 1 > ( t ) << ' << حاصل کریں < دو > ( t )
<< ' << حاصل کریں < 3 > ( t ) << ' << حاصل کریں < 4 > ( t ) << endl ;
واپسی 0 ;
}
ذیل میں دیئے گئے اسکرین شاٹ میں اس کوڈ کا آؤٹ پٹ چیک کریں:
get() فنکشن ویلیوز کو اسی ترتیب سے پرنٹ کرتا ہے جیسا کہ وہ ٹیپل کو تفویض کیے گئے ہیں۔
مثال 3:
اس مثال میں، ہم tuple_size() فنکشن کے کام کا مظاہرہ کریں گے۔ نمونے کی مثال کی مدد سے، ہم وضاحت کریں گے کہ tuple_size فنکشن کا استعمال کرکے ٹیپل کا سائز کیسے حاصل کیا جائے۔ نیچے دیئے گئے کوڈ کو چیک کریں۔
کوڈ کی باقی لائنیں وہی ہیں جو پچھلی مثالوں میں استعمال کی گئی ہیں۔ یہاں tuple_size فنکشن ٹیپل کا سائز حاصل کرے گا۔ 'decltype' کا مطلب اعلان شدہ قسم ہے جو دیے گئے اظہار کی قسم کو جانچنے کے لیے استعمال ہوتی ہے۔
# شامل کریں# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , int , چار , تیرنا > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ساتھ' , 5.5 ) ;
int میں ;
cout << 'ٹپل کا سائز =' ;
cout << tuple_size < decltype ( t ) > :: قدر << endl ;
واپسی 0 ;
}
جب آپ اس کوڈ پر عمل کرتے ہیں، تو درج ذیل آؤٹ پٹ تیار ہو جائے گا:
ہم نے tuple کو 5 ویلیوز تفویض کیں اور tuple_size() فنکشن نے بھی tuple 5 کا سائز واپس کیا۔
مثال 4:
ہم tuple_cat() فنکشن کا استعمال کرکے ٹیپلز کو جوڑ سکتے ہیں اور ان سے ایک نیا ٹوپل بنا سکتے ہیں۔ یہاں، ہم tuple_cat() فنکشن کے استعمال کو دو ٹوپلز کو جوڑنے کے لیے دکھائیں گے۔
ذیل میں دیے گئے کوڈ میں، ہم نے دو ٹیپلز t1 اور t2 کا اعلان کیا اور ہر ٹیپل کو 3/3 ویلیوز تفویض کیں۔ پھر، ہم نے tuple_cat() فنکشن کا استعمال کیا تاکہ دونوں tuples کو جوڑیں اور ان میں سے ایک نیا tuple بنائیں۔ اس کے بعد، ہم نے صرف get() فنکشن کا استعمال کرتے ہوئے تمام ٹیپلز کی ویلیو پرنٹ کی۔ tuple_cat() فنکشن ان ٹیپلز کو لیتا ہے جن کو جوڑنے کی ضرورت ہوتی ہے، ہر ٹوپل کو تفویض کردہ اقدار کو جوڑتا ہے، اور اس سے ایک نیا ٹیپل بناتا ہے۔
نوٹ کریں کہ tuples t1 اور t2 کی 3/3 ویلیوز ہیں اور ہم نے ہر ویلیو کو get() فنکشن کا استعمال کرتے ہوئے انڈیکس 0 سے انڈیکس 2 کا حوالہ دے کر پرنٹ کیا ہے۔ تاہم، جب ان کو جوڑ دیا جائے گا، تو کل ویلیوز 6 ہوں گی۔ لہذا، ہمیں ضرورت ہے۔ انڈیکس کو 0 سے 5 تک پرنٹ کرنے کے لیے تاکہ تمام اقدار پرنٹ ہو جائیں۔ نیچے دیے گئے آؤٹ پٹ کو دیکھیں اور نوٹ کریں کہ tuple t1 پر 3 قدریں پرنٹ کی گئی ہیں۔ 3 قدریں ٹوپل 2 پر پرنٹ کی گئی ہیں۔ تاہم، 6 قدریں ٹوپل 3 سے پرنٹ کی گئی ہیں کیونکہ نئے ٹیوپل میں مربوط اقدار 6 ہیں۔
# شامل کریں# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
ٹوپل < چار , int , تیرنا > t1 ( 'a' , 75 , 6.7 ) ;
ٹوپل < int , چار , تیرنا > t2 ( 10 , 't' , 77.9 ) ;
آٹو t3 = tuple_cat ( t1، t2 ) ;
cout << 'پہلے ٹوپل پر مشتمل ہے = ' ;
cout << حاصل کریں < 0 > ( t1 ) << ' << حاصل کریں < 1 > ( t1 ) << ' << حاصل کریں < دو > ( t1 ) << endl << endl ;
cout << 'دوسرے ٹیپل پر مشتمل ہے = ' ;
cout << حاصل کریں < 0 > ( t2 ) << ' << حاصل کریں < 1 > ( t2 ) << ' << حاصل کریں < دو > ( t2 ) << endl << endl ;
cout << 'نیا ٹوپل ہے =' ;
cout << حاصل کریں < 0 > ( t3 ) << ' << حاصل کریں < 1 > ( t3 ) << ' << حاصل کریں < دو > ( t3 ) << '
<< حاصل کریں < 3 > ( t3 ) << ' << حاصل کریں < 4 > ( t3 ) << ' << حاصل کریں < 5 > ( t3 ) << endl ;
واپسی 0 ;
}
یہاں آؤٹ پٹ ہے:
نتیجہ
یہ مضمون c++ پروگرامنگ زبان میں ٹیپلز کا ایک جائزہ ہے۔ c++ میں ٹوپل ایک ناقابل تغیر آبجیکٹ ہے جو ایک ہی وقت میں مختلف ڈیٹا کی اقسام کی قدریں رکھتا ہے۔ پھانسی کے کسی بھی مقام پر ٹیپلز کو تبدیل یا تبدیل نہیں کیا جاسکتا ہے کیونکہ وہ ناقابل تغیر ہیں۔ ایک خاص نتیجہ حاصل کرنے کے لیے ٹیپلز پر کئی افعال انجام دیے جا سکتے ہیں، ان میں سے 4 کو نمونے کی مثالوں کے ساتھ اس مضمون میں دکھایا گیا ہے۔